Web/⛺️ Java

[Java 기초] Java 실행 과정

키깡 2024. 8. 15.
728x90

 

1. Java 소스 파일 만들기 (~.java)

먼저, 우리가 코딩한 내용이 담긴 소스 코드 파일이 필요함. 이 파일의 확장자는 .java임. 여기에는 우리가 원하는 기능이나 동작이 코드로 적혀 있음.

2. 컴파일하기 (by javac)

이제 .java 파일을 컴파일해야 함.
컴파일이란, 우리가 이해할 수 있는 코드를 기계가 이해할 수 있도록 변환하는 과정임.
javac라는 컴파일러를 사용해서 이 작업을 함. 이렇게 하면 우리의 .java 파일이 기계가 알아들을 수 있는 바이트 코드로 바뀜.

3. 바이트 코드 생성 (~.class)

컴파일이 끝나면 .class 확장자를 가진 바이트 코드 파일이 만들어짐. 이 파일은 기계가 이해할 수 있는 코드로 변환된 상태임. 하지만 아직 이 파일만 가지고는 프로그램을 실행할 수 없음.

4. 실행

마지막 단계로, 이제 만들어진 바이트 코드 파일을 실행함. 이때 Java Virtual Machine (JVM)이 이 바이트 코드를 읽어서 우리가 원하는 프로그램이 실행되도록 해줌.
그래서 프로그램이 실제로 동작하게 됨.

 

개념 확인

질문 답변
컴파일이란 무엇인가요? 컴파일은 우리가 작성한 소스 코드를 기계가 이해할 수 있는 바이트 코드로 변환하는 과정입니다.
Java에서는 javac 컴파일러를 사용해서 .java 파일을 .class 파일로 변환합니다.
java 파일과 .class 파일의 차이는 무엇인가요? .java 파일은 사람이 읽고 작성한 소스 코드가 담겨 있는 파일이고, .class 파일은 이 소스 코드가 컴파일된 바이트 코드 파일입니다. .class 파일은 JVM에 의해 실행됩니다.
Java의 컴파일 과정과 다른 프로그래밍 언어의 컴파일 과정을 비교해 보세요. Java는 소스 코드를 바이트 코드로 컴파일한 후, JVM이 이를 해석하여 실행합니다.
반면, C 같은 언어는 소스 코드를 기계어로 직접 컴파일하여 운영 체제에 의존적인 실행 파일을 생성합니다.
이 점에서 Java는 플랫폼 독립성을 갖는 반면, C는 플랫폼에 종속됩니다.
Java의 바이트 코드가 가지는 장점은 무엇인가요? Java의 바이트 코드는 플랫폼 독립성을 제공한다는 점에서 큰 장점이 있습니다.
이 바이트 코드는 JVM이 설치된 모든 환경에서 실행될 수 있기 때문에, 한 번 작성된 코드를 여러 플랫폼에서 사용할 수 있습니다.
Java 프로그램을 컴파일할 때 주의해야 할 점은 무엇인가요? Java 프로그램을 컴파일할 때는 클래스 이름과 파일 이름이 일치해야 하고, 패키지 구조가 올바르게 설정되어 있어야 합니다. 
컴파일러와 인터프리터의 차이는 무엇인가요? 컴파일러는 전체 소스 코드를 한 번에 번역하여 바이트 코드 또는 기계어로 변환하고, 인터프리터는 코드를 한 줄씩 해석하여 실행합니다.
Java는 컴파일러를 사용해 바이트 코드를 생성하고, JVM이 이 바이트 코드를 인터프리팅하여 실행합니다.
JVM(Java Virtual Machine)이 하는 역할은 무엇인가요? JVM은 컴파일된 바이트 코드를 실행하는 가상 머신입니다.
바이트 코드를 해석하여 실행하며, Java 프로그램의 플랫폼 독립성을 보장해 줍니다.

 

댓글