컴파일과 인터프리터 방식은 프로그래밍 언어나 스크립트 언어를 기계어로 바꾸는 컴퓨터 프로그램
프로그래머가 직접 작성한 코드를 기계어(바이너리 코드)로 변경되며 바로 실행도 가능하다.
- 컴파일 언어
- 기계어로 바로 컴파일되는 언어
- 기계어를 바로 해석하기때문에 인터프리터 언어보다 빠르다 느낄 수 있다.
- 예) C, C#,C++등

기계어로 변환 없이 직접 작성한 프로그래밍 언어를 실행한다.


프로그래머가 자바 .java파일 을 작성한다.
javac compiler에 의해 .java → .class 파일로 컴파일 된다. .class파일은 JVM이 이해할 수 있는 바이트 코드로 구성되어있다. 바이트 코드로만은 실행이 불가하다.
JVM에서 인터프리터에 의해 머신코드(기계가 이해할 수 있는 언어)로 해석된다.
컴퓨터에서 코드가 실행 될 수 있도록 JVM이 바이트 코드를 실행한다.
컴파일 된 다음 자바 launcher가 .class파일을 실행 시킨다.
.class파일 JVM에서 실행되므로 OS에 구속되지 않고 어느 운영체제에서 실행 가능하다.
Java Platform은 소프트웨어로만 구성되어있다.

Caculator 클래스를 만들어봅시다
public Class Caculator {
}
빼기, 곱하기, 나누기를 하고 그 값을 리턴하는 메소드를 만들어봅시다.
public Class Caculator {
private static int num1 = 5;
private static int num2 = 3;
public static void main(String[] args) {
System.out.println("subtract = " + subtract(num1, num2));
System.out.println("multiply = " + multiply(num1, num2));
System.out.println("divide = " + divide(num1, num2));
}
public static int subtract(int num1, int num2) {
return num1 - num2;
}
public static int multiply(int num1, int num2) {
return num1 * num2;
}
public static int divide(int num1, int num2) {
return num1 / num2;
}
}
[참고]
About the Java Technology (The Java™ Tutorials >
Getting Started > The Java Technology Phenomenon)
Interpreted vs Compiled Programming Languages: What's the Difference?
Difference between Compiled and Interpreted Language - GeeksforGeeks