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

·2024년 3월 14일
0

JAVA

목록 보기
14/15
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개의 댓글

관련 채용 정보