컴파일 언어, 인터프리터 언어
자바의 컴파일 언어와 인터프리터 언어의 특징을 모두 갖는 이유는 자바가 플랫폼 독립적인 언어이기 때문입니다.
자바 컴파일러는 소스 코드를 바이트 코드로 변환하므로, 한 번 작성한 코드를 다양한 운영체제에서 실행할 수 있습니다.
또한, 인터프리터 언어의 장점으로는 소스 코드를 작성한 후 즉시 실행할 수 있으므로 개발자가 빠르게 결과를 확인할 수 있습니다.
자바는 컴파일 언어와 인터프리터 언어의 특징을 모두 가지고 있는 하이브리드 언어입니다.
자바는 컴파일 언어와 인터프리터 언어의 장단점을 모두 가지고 있기 때문에, 개발자가 프로젝트의 요구사항에 맞게 선택할 수 있습니다.
컴파일 언어
컴파일러는 고급 언어로 작성된 소스 코드를 저급 언어로 번역하는 프로그램을 가리킨다.
컴파일 언어는 전체 소스 코드를 한 번에 기계어로 변환해 실행 파일을 만드는 언어로, 컴파일과 실행이 각각 분리되어 있고, 실행 파일을 실행시켜 코드를 실행한다. 자바는 자바 컴파일러를 통해 소스 코드를 바이트 코드로 변환하고, 이는 JVM에서 실행된다.
단, 프로젝트의 규모가 클 경우 컴파일 시간이 오래 걸릴 수 있다는 단점이 있다.
컴파일러 언어의 종류
C, C++, C#, JAVA 등이 있다.
인터프리터 언어
인터프리터는 프로그래밍 언어의 소스 코드를 바로 실행하는 컴퓨터 프로그램을 말한다.
인터프리터 언어는 소스 코드를 한 번에 기계어로 변환하는 컴파일러와 달리, 컴파일하지 않고 소스 코드를 한 줄씩 읽어 들여 실행한다. 컴파일하는 과정이 없기 때문에 컴파일하는 시간은 소요되지 않으나, 인터프리터 언어는 실행파일을 별도로 생성하지 않기 때문에 실행시마다 인터프리트 과정이 반복 수행되어 실행 속도가 느리다는 단점이 있다.
자바에서는 JVM이 바이트 코드를 인터프리터에 의해 해석되어 실행됩니다.
이때, 필요에 따라 JIT(Just-In-Time) 컴파일러에 의해 네이티브 코드로 변환되어 실행될 수도 있습니다.
인터프리터 언어의 종류
Python, Javascript, Ruby 등이 있다.
자바 컴파일 언어의 장점
- 바이트 코드로 변환되므로, 여러 운영체제(OS)에서 실행이 가능하다.
- 컴파일된 코드는 실행 시간에 직접 해석되지 않기 때문에 실행 속도가 빠르다.
- 컴파일 단계에서 오류를 찾아낼 수 있기 때문에, 실행 시간에 예외가 발생할 확률이 줄어든다.
자바 컴파일 언어의 단점
- 컴파일러에 의해 생성된 코드가 운영체제나 하드웨어 등의 환경에 따라 다른 실행 파일을 만들어야 한다.
- 수정이 필요한 경우에는 컴파일 단계를 다시 거쳐야 한다.
자바 인터프리터 언어의 장점
- 한 줄씩 실행하기 때문에 수정한 코드를 바로 확인할 수 있다.
- 실행 환경에 맞게 코드를 수정할 필요가 없다.
자바 인터프리터 언어의 단점
- 실행 시간에 코드를 해석하므로, 실행 속도가 느리다.
- 오류가 발생할 경우에는 실행 중에 예외가 발생할 확률이 높다.
'🖥 백엔드 개발 > JVM' 카테고리의 다른 글
HotSpot JVM란? (0) | 2023.03.31 |
---|---|
JVM(Java Virtual Machine)란? (0) | 2023.03.30 |