메모장으로 Hello World 찍먹(compile 이란?)

Jeonghyeon Kim·2022년 10월 3일
0

Hello world 찍어보기

  1. 메모장에 다음을 입력한 후 저장한다.

    public class Hello{
    	public static void main (String [] args){
    		System.out.println("Hello World");
    	}
    }

  1. Hello.java를 컴파일해본다.
    a. 자바 컴파일러 javac.exe를 사용해서
    b. 소스파일 Hello.java로부터
    c. 클래스파일 Hello.classs를 생성한다.
cd C:\class\hello world

입력해서 경로 변경하고

javac Hello.java 입력 후 엔터하면



이렇게 Hello.class 파일이 생성된다.

Hello.java를 컴파일한 결과가 Hello.class인거임

즉, Hello.java를 컴퓨터가 이해할 수 있는 언어로 컴파일해준 것이다.

💡 컴파일의 이해

  • 사람이 이해하는 언어를 컴퓨터가 이해할 수 있는 언어로 바꾸어 주는 과정
  • 원시 코드에서 목적 코드(목적 파일)로 바꾸어 주는 것을 컴파일이라고 한다.
  • 목적 파일을 실행 파일로 바꾸는 것은 링크라고 한다.
  • 원시 코드는 인간이 작성한 코드, 목적 코드는 컴퓨터가 이해할 수 있도록 번역한 코드
  • 컴파일과 링크의 기능을 하는 것이 컴파일러이다.
  1. Hello.class를 실행해본다.
  • 자바 인터프리터 java.exe로 실행
    cmd창에
    
    > java Hello 를 입력하면
    
    Hello World
    
    가 출력된다.

💡 1. 코딩(프로그램 작성)
2. 저장
3. 컴파일
4. 실행


JDK의 bin디렉토리에 있는 주요 실행 파일들을 다시 살펴보면,

  • javac.exe → 자바 컴파일러. 자바소스코드를 바이트코드로 컴파일한다.
    c:\jdk1.8\work>javac Hello.java
  • java.exe → 자바 인터프리터. 컴파일러가 생성한 바이트코드를 해석하고 실행한다.
    c:\jdk1.8\work>java Hello
  • javap.exe→ 역어셈블러. 컴파일된 클래스파일을 원래의 소스로 변환한다.
    c:\jdk1.8\work>javap Hello>Hello.java

바이트코드 - JVM이 이해할 수 있는 기계어. JVM은 바이트코드를 해당 OS의 기계어로 변환하여 OS로 전달함

  • jar.exe → 압축프로그램. 클래스파일과 프로그램의 실행에 관련된 파일을 하나의 jar파일로 압축하거나 압축해제한다.

JDK와 JRE

  1. JDK
    • 자바 개발 도구 (Java Development Kit)
    • JRE+개발에 필요한 실행파일(javac.exe 등)
  2. JRE
    • 자바 실행 환경(Java Runtime Environment).
    • 자바로 작성된 응용프로그램이 실행되기 위한 최소환경.
    • JVM+클래스라이브러리(Java API)
profile
hello world

0개의 댓글