[Java] 인터프리터&컴파일러Dev/Java2022. 6. 22. 19:09
Table of Contents
우리가 사용하는 컴퓨터용 언어는 코드를 해석하는 과정에서 인터프리터와 컴파일러로 나눌 수 있다.
인터프리터 |
인터프리터는 우리가 작성한 코드를 한줄씩 해석하여 실행하는 것이다. 즉, 우리가 10줄의 코드를 작성하였다면 한번 해석하고 실행하는 과정을 10번 거치게 된다. 이 경우 매 실행시 마다 이런 과정이 반복되므로, 상대적으로 느리다는 단점이 있다. |
컴파일러 |
고급 언어로 작성된 프로그램을 컴퓨터가 이해할 수 있게 바꾸어주는 프로그램이다. 컴파일러는 인터프리터와 반대로 코드 전체를 기계어로 직접 번역하는 컴파일 과정을 거쳐 실행한다. 따라서 상대적으로 빠른 속도를 가진다. |
인터프리터가 상대적으로 느리다고 무조건 컴파일러를 사용하는 것은 아니다.
컴파일러는 고급언어로 작성된 프로그램을 수행할 때 목적 ㅍ로그램으로 바꾸어 수행함으로써 결과를 얻고,
인터프리터는 원시 프로그램의 의미를 직접 수행하여 결과를 얻는다.
그렇기 때문에 원시 프로그램을 수정하지 않고 계속 반복 수행하는 시스템에서는 컴파일러가,
반대로 원시프로그램을 계속 수정해주어야하는 개발 시스템이나 교육용 시스템에서는 인터프리터가 더 능률적이다.
자바의 경우 자바 언어로 작성된 프로그램을 자바 컴파일러가 바이트 코드로 변환하고,
이 바이트 코드를 가상기계(JVM)이 인터프리터 방식으로 한줄 씩 읽어 해석한 후에 실행한다.
따라서 자바는 인터프리터와 컴파일러 두 특징을 모두 가진 하이브리드 언어라고 볼 수 있다.
'Dev > Java' 카테고리의 다른 글
[Java] 메소드 / 식별자 (0) | 2022.06.23 |
---|---|
[Java] 주석 (0) | 2022.06.23 |
[Java] print / println (0) | 2022.06.22 |
[Java] 이클립스 활용 (0) | 2022.06.22 |
[Java] Java란? (0) | 2022.06.22 |
@kjyyjk :: 녕의 학습 기록
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!