[CS] JAVA 는 컴파일 방식 or 인터프리터 방식?

·2024년 3월 14일

JAVA

목록 보기
14/16
post-thumbnail

JAVA 의 컴파일 방식

cs 스터디를 하던 도중, 팀원들과 Java 의 특징에 대해 공부하고 한번씩 입으로 말해 보는 시간을 가졌다. 그런데 네 명 동시에 궁금한 점이 생겼다. 컴파일 언어와 스크립트 언어의 차이점까지는 알겠는데, 자바는 스크립트 언어인데 왜 인터프리터 방식까지 쓴다고 하는 거지?

컴파일 언어는 컴파일러를 통해 기계어로 번역한 후 실행하는 것이고, 스크립트 언어는 인터프리터라고 불리는 프로그램이 소스코드를 한줄씩 읽고 해석하여 실행하여 시간이 적게 걸린다고 이해했는데?

이는 자바의 JVM (java virtual marchine) 때문이다.

자바는 컴파일러가 자바 소스 코드를 bite code 로 변환하고, 이를 JVM 이 인터프리터 방식으로 바이트 코드를 컴퓨터가 읽을 수 있는 기계어로 변환하기 때문이다!

생각보다 쉽게 궁금증이 풀렸다. 나머지는 컴파일러 방식과 스크립트 방식, 그리고 컴파일 방식과 인터프리터 방식의 차이를 간단하게 정리하는 것으로 이 글을 마무리한다.

언어 종류

컴파일 언어 (Compiled Language)

  • 컴파일 언어는 소스 코드를 컴파일러를 통해 기계어로 번역한 후 실행
  • 컴파일 과정에서 전체 코드를 한 번에 번역하고 실행 파일로 생성하며, 이 파일을 실행하여 프로그램을 실행
  • 컴파일된 코드는 일반적으로 빠르게 실행되며, 높은 성능을 보장
  • C, C++, Java

스크립트 언어 (Scripting Language):

  • 스크립트 언어는 소스 코드를 직접 실행하며, 보통 인터프리터라고 불리는 특별한 프로그램이 소스 코드를 한 줄씩 읽고 해석하여 실행
  • 스크립트 언어는 보통 컴파일 언어보다 실행 시간이 느리지만, 개발 과정이 더 빠르고 유연
  • 스크립트 언어는 주로 작은 프로그램이나 자동화 작업, 웹 개발, 시스템 관리 및 데이터 분석 등에 사용
  • Python, JavaScript, Ruby, PHP

주요 차이점은 소스 코드를 실행하는 방법과 실행 속도에 있으며, 각각의 사용 사례와 요구 사항에 따라 적합한 언어를 선택하는 것이 중요하다.

profile
자바 백엔드 개발자 개인 위키

0개의 댓글