Note 자바 프로그램의 실행 과정
프로젝트를 생성해 자바로 코드를 작성하고 실행하면 결과를 출력한 후 종료합니다. 이것이 자바 프로그램이 실행되는 과정입니다. 이 과정을 잠깐 살펴보겠습니다.
편집기에서 작성한 자바 소스 코드는 .java 확장자를 사용합니다. 확장자는 파일의 종류를 나타내는 표시입니다. 이미지 파일을 보면 .jpg, .png라고 되어 있는데 이들이 바로 이미지 파일임을 나타내는 확장자입니다. 샘플 코드를 보면 Main.java라고 되어 있습니다. 이는 Main이라는 이름의 자바 소스 코드를 나타냅니다.
자바 소스 코드를 실행하면 자바 컴파일러를 거쳐 자바 바이트 코드로 변환됩니다. JDK를 설치한 폴더(C:\Program Files\Java\jdk-21)로 가면 bin 폴더에 javac.exe 파일이 있습니다. 이 파일이 바로 자바 컴파일러입니다. 자바 컴파일러(Java compiler)는 개발자가 작성한 자바 소스 코드를 자바 가상 머신(JVM, Java Virtual Machine)이 이해할 수 있는 언어로 변환하는 일종의 번역기입니다. 자바 컴파일러로 변환한 자바 소스 코드를 자바 바이트 코드(Java bytecode)라고 하며 확장자는 .class입니다. 샘플 코드인 Main.java 파일은 컴파일러에 의해 Main.class 파일로 변환됩니다. 이 과정을 컴파일 타임(compile time)이라고 합니다.
자바 바이트 코드로 변환된 Main.class 파일을 JVM이 읽어들여 프로그램을 실행합니다. JVM은 자바 프로그램의 실행을 담당하는 프로그램입니다. 자바 컴파일러와 같은 폴더에 있는 java.exe가 JVM을 구동하는 역할을 합니다. 프로그램이 실행되는 이 과정을 런타임(runtime)이라고 합니다.