cs 스터디를 하던 도중, 팀원들과 Java 의 특징에 대해 공부하고 한번씩 입으로 말해 보는 시간을 가졌다. 그런데 네 명 동시에 궁금한 점이 생겼다. 컴파일 언어와 스크립트 언어의 차이점까지는 알겠는데, 자바는 스크립트 언어인데 왜 인터프리터 방식까지 쓴다고 하는 거지?
컴파일 언어는 컴파일러를 통해 기계어로 번역한 후 실행하는 것이고, 스크립트 언어는 인터프리터라고 불리는 프로그램이 소스코드를 한줄씩 읽고 해석하여 실행하여 시간이 적게 걸린다고 이해했는데?
이는 자바의 JVM (java virtual marchine) 때문이다.
자바는 컴파일러가 자바 소스 코드를 bite code 로 변환하고, 이를 JVM 이 인터프리터 방식으로 바이트 코드를 컴퓨터가 읽을 수 있는 기계어로 변환하기 때문이다!
생각보다 쉽게 궁금증이 풀렸다. 나머지는 컴파일러 방식과 스크립트 방식, 그리고 컴파일 방식과 인터프리터 방식의 차이를 간단하게 정리하는 것으로 이 글을 마무리한다.
주요 차이점은 소스 코드를 실행하는 방법과 실행 속도에 있으며, 각각의 사용 사례와 요구 사항에 따라 적합한 언어를 선택하는 것이 중요하다.