JDK(Java Development Kit)는 자바 애플리케이션을 개발하고 실행하기 위한 핵심 도구 세트
오라클(Oracle)과 OpenJDK 커뮤니티에서 제공하며, 개발자에게 컴파일러, 디버거, 라이브러리, 문서 생성기 등을 포함한 필수 리소스를 제공
| 구성 요소 | 설명 |
|---|---|
| javac | 자바 소스 코드(.java)를 바이트코드(.class)로 컴파일하는 컴파일러 |
| java | 컴파일된 바이트코드를 JVM에서 실행하는 런처 |
| Javadoc | 소스 코드의 주석을 기반으로 API 문서를 생성하는 도구 |
| jar | 클래스 파일과 리소스를 JAR(Java Archive) 파일로 패키징하는 유틸리티 |
| jdb | 자바 애플리케이션을 디버깅하는 도구 |
| JRE(Java Runtime Environment) | 자바 프로그램 실행을 위한 JVM과 라이브러리 |
| 구분 | 역할 | 포함 관계 |
|---|---|---|
| JDK | 개발 도구 + JRE + 컴파일러. 개발과 실행 모두 가능 | JDK ⊃ JRE ⊃ JVM |
| JRE | JVM + 라이브러리. 실행만 가능 (개발 불가) | JRE ⊃ JVM |
| JVM | 바이트코드를 OS에 맞게 해석하고 실행하는 가상 머신 | 독립적 구성 요소 |
✅ 간단 비유
- JDK = 요리사(개발자)가 음식(애플리케이션)을 만들 때 필요한 주방 도구 + 재료
- JRE = 손님(사용자)이 음식을 먹기 위해 필요한 식기와 테이블
- JVM = 음식을 실제로 조리하는 레인지
.java 파일 작성 (예: HelloWorld.java)javac HelloWorld.java → .class 파일 생성java HelloWorld → JVM이 바이트코드를 실행// HelloWorld.java 예시
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, JDK!");
}
}
터미널에서 다음 명령어로 버전을 확인할 수 있다.
java -version # JRE 버전 출력
javac -version # JDK 컴파일러 버전 출력