✨ 1일 1개발지식

☕ JVM, JRE, JDK의 차이점은?

twoweekhee 2025. 12. 20. 01:06

안녕하세요 :) 트윅히 입니다~~

 

자바 개발 환경을 처음 접하시면 JVM, JRE, JDK라는 용어들이 계속 등장하는데요, 이 셋의 관계가 명확하지 않아 혼란스러우실 겁니다. 오늘은 이 세 가지 개념을 확실하게 정리해보겠습니다.

 

JVM이란?

JVM은 Java Virtual Machine의 약자로, 자바 가상 머신을 의미합니다. 자바의 가장 핵심적인 부분으로, 컴파일된 자바 바이트코드(.class 파일)를 실제로 실행하는 역할을 담당합니다.

JVM의 가장 큰 특징은 운영체제에 독립적이라는 점입니다. 윈도우, 맥, 리눅스 등 어떤 운영체제에서든 JVM만 있으면 동일한 자바 프로그램을 실행할 수 있습니다. 이것이 바로 자바의 "Write Once, Run Anywhere" 철학을 가능하게 만드는 핵심 요소입니다.

JRE란?

JRE는 Java Runtime Environment의 약자로, 자바 실행 환경을 의미합니다. JRE는 JVM을 포함하고 있으며, 여기에 자바 클래스 라이브러리와 자바 프로그램 실행에 필요한 각종 파일들이 추가로 포함되어 있습니다.

쉽게 말해 JRE는 자바 프로그램을 실행하기 위한 완전한 패키지입니다. 사용자가 자바 애플리케이션을 실행하려면 최소한 JRE가 설치되어 있어야 합니다.

JDK란?

JDK는 Java Development Kit의 약자로, 자바 개발 도구를 의미합니다. JDK는 JRE를 모두 포함하고 있으며(따라서 JVM도 포함), 거기에 더해 개발에 필요한 도구들이 추가되어 있습니다.

javac(컴파일러), jar(압축 도구), javadoc(문서 생성 도구), 디버거 등 자바 프로그램을 작성하고 컴파일하는 데 필요한 모든 도구가 JDK에 포함되어 있습니다.

포함 관계 정리

세 가지의 관계를 정리하면 다음과 같습니다:

JDK > JRE > JVM

  • JVM: 바이트코드를 실행하는 가상 머신
  • JRE: JVM + 실행에 필요한 라이브러리
  • JDK: JRE + 개발 도구

따라서 자바 개발자라면 JDK를 설치하면 되고, 단순히 자바 프로그램을 실행만 하는 사용자라면 JRE만 있어도 충분합니다. JVM은 별도로 설치하는 것이 아니라 JRE나 JDK에 포함되어 있는 구성요소입니다.