본문 바로가기
  • 🕊️ A Piece of Peace
🖥️ PC/JAVA

3. JDK와 JRE의 차이

by Moom2n 2024. 6. 24.

JDK (Java Development Kit)

JDK는 Java 애플리케이션을 개발하기 위한 도구와 라이브러리를 포함한 개발 도구입니다.

  • 구성 요소:
    • JRE: JDK에는 JRE가 포함되어 있어 개발된 애플리케이션을 실행할 수 있습니다.
    • Java 컴파일러(javac): Java 소스 코드를 바이트코드(.class 파일)로 컴파일합니다.
    • 디버거(jdb): 애플리케이션을 디버깅할 수 있는 도구입니다.
    • 애플리케이션 프로그래밍 인터페이스(API): Java 개발에 필요한 표준 라이브러리와 API가 포함되어 있습니다.
    • 다양한 개발 도구: JavaDoc, JavaFX, Java Mission Control 등 다양한 개발 도구가 포함되어 있습니다.
  • 용도:
    • Java 프로그램을 작성, 컴파일, 디버그 및 테스트하는 데 사용됩니다.
    • 개발자가 필요한 모든 도구를 제공합니다.

JRE (Java Runtime Environment)

JRE는 Java 애플리케이션을 실행하기 위한 환경을 제공하는 런타임 패키지입니다.

  • 구성 요소:
    • Java Virtual Machine(JVM): Java 바이트코드를 실행하는 가상 머신입니다.
    • 클래스 라이브러리: 표준 Java 클래스 라이브러리로, 애플리케이션이 실행될 때 필요한 클래스들을 포함합니다.
    • 런타임 라이브러리: Java 애플리케이션 실행 시 필요한 라이브러리와 파일을 포함합니다.
  • 용도:
    • Java 애플리케이션을 실행하는 데 필요한 모든 것을 제공합니다.
    • 개발 도구는 포함되지 않으며, 애플리케이션 실행에 초점을 맞춥니다.

JDK와 JRE의 차이점 요약

  1. 포함된 구성 요소:
    • JDK: JRE + 개발 도구(컴파일러, 디버거 등)
    • JRE: JVM + 런타임 라이브러리
  2. 목적:
    • JDK: Java 애플리케이션을 개발, 컴파일, 디버그 및 테스트하는 데 사용
    • JRE: Java 애플리케이션을 실행하는 데 사용
  3. 대상 사용자:
    • JDK: Java 개발자
    • JRE: Java 애플리케이션 사용자(개발이 아닌 실행만 필요할 때)

예시

  • 개발자: Java 애플리케이션을 개발하는 개발자는 JDK가 필요합니다. JDK는 개발에 필요한 모든 도구와 라이브러리를 제공하므로, 개발자는 이를 사용하여 코드를 작성하고 컴파일하며, 디버깅을 할 수 있습니다.
  • 사용자: 개발된 Java 애플리케이션을 실행하는 최종 사용자는 JRE만 필요합니다. JRE는 애플리케이션 실행에 필요한 환경을 제공하기 때문에, 사용자는 추가적인 개발 도구 없이 애플리케이션을 실행할 수 있습니다.