메뉴 닫기

JDK, JRE, JVM 차이 완벽 정리 – 자바 입문자를 위한 실행 구조 가이드


JDK, JRE, JVM 차이 완벽 정리 – 자바 입문자를 위한 실행 구조 가이드

📌 자바를 시작하려면 꼭 알아야 할 세 가지 핵심 구성요소의 차이를 명확하게 알려드립니다

프로그래밍을 처음 배우거나, 자바(Java)를 막 시작한 분들이라면 반드시 마주치는 개념이 바로 JDK, JRE, JVM입니다.
하지만 이 세 가지 개념이 너무 비슷하게 느껴져서 혼란스러웠던 적 있으신가요?
개념은 어렵지 않은데, 헷갈리는 용어가 많다 보니 처음 자바를 배울 때 큰 장벽이 되기도 하죠.
그래서 오늘은 이 세 가지의 차이와 역할을 아주 쉽게 풀어드릴게요.
자바 프로그램이 실제로 어떻게 실행되는지, 어떤 구성요소들이 어떤 역할을 하는지 제대로 이해하면 자바가 더 이상 어렵게 느껴지지 않을 거예요.

이 글에서는 JDK, JRE, JVM의 정의와 차이를 명확하게 설명하고, 각 구성요소가 자바 실행 구조에서 어떤 역할을 하는지 구체적으로 알려드립니다.
또한 설치할 때 어떤 걸 골라야 하는지, 실제 사용 시 무엇을 신경 써야 하는지도 함께 알아볼 거예요.
지금부터 차근차근 함께 살펴보시죠!







🧩 JVM이란 무엇인가요?

JVM(Java Virtual Machine)은 자바 프로그램을 실제로 실행해주는 가상 머신입니다.
자바로 작성한 코드를 컴파일하면 .class 파일이라는 바이트코드(bytecode)가 생성되는데, 이 바이트코드를 운영체제에 맞게 해석하고 실행하는 것이 바로 JVM의 역할입니다.

즉, JVM은 플랫폼 독립성을 가능하게 하는 핵심 요소입니다.
한 번 작성된 자바 프로그램을 Windows, Mac, Linux 등 어떤 운영체제에서든 실행할 수 있게 해주죠.
자바가 “Write Once, Run Anywhere(한 번 작성하면 어디서든 실행)”를 내세울 수 있는 이유가 바로 여기에 있습니다.

  • 📄자바 소스코드(.java) → 컴파일 후 바이트코드(.class) 생성
  • 🔁JVM이 바이트코드를 기계어로 해석 후 실행
  • 🌍운영체제에 관계없이 동일한 자바 프로그램 실행 가능

또한 JVM은 실행 중 메모리 관리, 가비지 컬렉션, 스레드 관리 등의 기능도 함께 담당합니다.
즉, 단순히 코드 실행만이 아니라 자바 프로그램이 안정적으로 동작할 수 있도록 다양한 기능을 제공합니다.

💎 핵심 포인트:
JVM은 자바 프로그램을 실행하는 ‘해석기’이자, 플랫폼 독립성을 가능하게 해주는 핵심 시스템입니다.


🔍 JRE의 역할과 특징

JRE(Java Runtime Environment)는 이름 그대로 자바 프로그램을 실행하기 위한 환경입니다.
즉, 우리가 만든 자바 애플리케이션을 실제로 실행하려면 JRE가 반드시 필요합니다.

JRE는 내부적으로 JVM과 자바 클래스 라이브러리(rt.jar 등), 그리고 기타 리소스를 포함하고 있습니다.
실제로 사용자가 자바 프로그램을 실행할 때 JRE가 전체적인 실행 환경을 제공하고, JVM이 그 안에서 코드를 해석하고 실행하게 되는 구조입니다.

  • 🧱JRE = JVM + 표준 클래스 라이브러리
  • 🖥️자바 애플리케이션 실행 시 필요한 환경 제공
  • 🚫개발 도구(컴파일러 등)는 포함되어 있지 않음

즉, JRE는 개발자가 아닌 사용자 입장에서 자바 프로그램을 실행하는 데 필요한 최소 구성입니다.
예를 들어, 자바로 만든 게임이나 애플리케이션을 실행하려면 JRE만 있으면 충분하죠.
하지만 자바 코드를 작성하고 컴파일하려면 JDK가 필요합니다. 이 부분은 다음 섹션에서 자세히 설명할게요.

💎 핵심 포인트:
JRE는 자바 프로그램을 실행하기 위한 환경이며, JVM과 표준 클래스 라이브러리를 포함하지만 개발 기능은 없습니다.







🛠️ JDK는 어떤 개발 도구인가요?

JDK(Java Development Kit)는 자바 프로그램을 만들고, 컴파일하고, 디버깅하고, 실행하는 데 필요한 모든 개발 도구를 포함한 패키지입니다.
JDK는 JRE를 포함하고 있으며, 거기에 개발을 위한 추가 기능이 포함되어 있다고 이해하면 됩니다.

예를 들어, 자바 소스파일(.java)을 바이트코드(.class)로 변환해주는 컴파일러(javac)는 JDK에만 포함되어 있습니다.
따라서 자바 애플리케이션을 개발하려면 반드시 JDK가 필요합니다.

  • 📦JDK = JRE + 개발 도구(javac 등)
  • 📝자바 소스코드 작성 및 컴파일 가능
  • 🔧디버깅, 문서 생성 등 다양한 개발 도구 포함

간단히 말해 JDK는 자바 개발자를 위한 풀 패키지입니다.
반면 단순히 자바 프로그램을 실행만 하고 싶다면 JDK까지 설치할 필요는 없고 JRE만 있어도 됩니다.
하지만 최근에는 JRE 단독 패키지를 따로 제공하지 않고, JDK 안에 포함시키는 방식으로 배포하는 경우가 많습니다.

💎 핵심 포인트:
JDK는 자바 개발을 위한 필수 패키지이며, JRE를 포함하고 컴파일러, 디버거 등 다양한 개발 도구를 제공합니다.


⚙️ JDK, JRE, JVM 관계 쉽게 이해하기

지금까지 JDK, JRE, JVM 각각의 정의와 역할을 알아봤다면, 이제는 이 세 가지가 어떻게 연결되어 있는지 이해해볼 차례입니다.
많은 분들이 가장 헷갈려하는 부분이기도 하죠.

관계를 간단히 정리하면 다음과 같습니다.
JDK는 JRE를 포함하고,
JRE는 JVM을 포함합니다.
즉, 자바 개발자에게 필요한 요소가 단계적으로 확장되는 구조인 셈입니다.

구성 요소 포함 관계
JDK JRE + 개발 도구
JRE JVM + 클래스 라이브러리
JVM 자바 바이트코드 실행 엔진

또한 다음과 같은 비유도 많이 사용됩니다.
JVM은 자동차의 엔진,
JRE는 운전 가능한 자동차,
JDK는 자동차 조립 및 수리 도구 세트라고 볼 수 있습니다.

💎 핵심 포인트:
JDK ⊃ JRE ⊃ JVM의 구조로 포함 관계를 이해하면, 자바 환경 구성의 큰 그림이 보입니다.







💡 설치할 때 무엇을 선택해야 하나요?

자바를 설치하려 할 때 JDK를 받아야 할지, JRE만 있어도 되는지 고민되셨던 적 있으신가요?
설치 목적에 따라 선택이 달라질 수 있는데요, 아주 간단하게 정리하면 아래와 같습니다.

  • 👨‍💻자바로 개발하려면 반드시 JDK 설치
  • 📦JDK에는 JRE 포함되어 있어 별도 설치 불필요
  • 🎮자바로 만든 게임/앱 실행만 한다면 JRE만으로 충분

하지만 현재는 JRE 단독 설치 패키지를 제공하지 않는 경우가 많고, JDK 하나만 설치해도 충분히 실행까지 가능합니다.
또한 Oracle JDK 외에도 OpenJDK, Amazon Corretto 등 다양한 배포판이 존재하며, 대부분 무료로 제공됩니다.

💡 TIP: 처음 자바를 설치한다면 JDK 17 LTS 버전을 추천합니다. 안정성이 높고, 장기 지원(Long-Term Support) 버전이라 입문자에게 적합해요.

정리하면, 개발자든 일반 사용자든 JDK를 설치하면 모든 기능을 사용할 수 있고, 따로 나눠 고민할 필요가 줄어들게 됩니다.
설치 후 환경 변수 설정만 잘해주면 바로 자바 개발을 시작할 수 있어요!


자주 묻는 질문 (FAQ)

JDK, JRE, JVM 중 무엇부터 이해해야 하나요?
JVM이 가장 핵심 구조이므로 먼저 이해한 뒤, JRE와 JDK로 확장해가면 전체 흐름을 쉽게 파악할 수 있습니다.
JDK만 설치하면 JRE도 자동으로 설치되나요?
네, 대부분의 최신 JDK에는 JRE가 포함되어 있어 따로 설치할 필요가 없습니다.
JRE만 설치하면 자바 코드를 컴파일할 수 있나요?
불가능합니다. 컴파일러(javac)는 JDK에만 포함되어 있으므로 개발에는 반드시 JDK가 필요합니다.
자바 프로그램을 실행하는 데 꼭 JVM이 필요한가요?
네. JVM이 자바 바이트코드를 기계어로 변환해 실행하는 역할을 하기 때문에 필수입니다.
OpenJDK와 Oracle JDK의 차이는 무엇인가요?
기능상 큰 차이는 없으며, 라이선스 정책만 다릅니다. 일반 사용자나 기업도 OpenJDK를 자유롭게 사용할 수 있습니다.
자바 설치 후 환경 변수 설정이 필요한가요?
네. PATH 및 JAVA_HOME 설정을 해야 터미널이나 IDE에서 정상적으로 자바 명령어를 사용할 수 있습니다.
JDK 설치는 몇 비트로 해야 하나요?
운영체제에 맞춰 64비트 버전을 설치하는 것이 일반적이며, 최신 OS에서는 64비트를 기본으로 사용합니다.
자바는 무료인가요?
OpenJDK를 포함한 대부분의 자바 배포판은 무료로 사용할 수 있으며, 상업용 환경에서도 문제가 없습니다.



🧭 JDK, JRE, JVM 구성 이해로 자바 개발 자신감 키우기

처음 자바를 접하면 헷갈릴 수밖에 없는 용어들인 JDK, JRE, JVM.
하지만 이 세 가지의 개념과 포함 관계만 제대로 이해하면 자바 실행 구조가 훨씬 명확해집니다.
JVM은 실행기, JRE는 실행 환경, JDK는 개발 도구라는 개념을 바탕으로 목적에 맞는 설치를 선택하고 활용할 수 있어야 합니다.
최근에는 JDK 하나만 설치해도 JRE와 JVM까지 포함되어 있기 때문에 입문자라면 고민 없이 JDK를 설치하면 됩니다.
또한 자바의 개방성과 플랫폼 독립성 덕분에 다양한 환경에서도 동일한 프로그램을 실행할 수 있다는 점은 여전히 자바가 사랑받는 이유 중 하나죠.
이 글을 통해 자바의 실행 구조를 자신 있게 이해하고, 앞으로의 개발 학습에도 큰 도움이 되셨길 바랍니다.


🏷️ 관련 태그 : JDK, JRE, JVM, 자바실행구조, 자바입문, 자바설치, 자바개발환경, Java개념정리, OpenJDK, Java기초