TIL #10 JRE와 JDK의 차이

HYEON JIN CHOI·2024년 5월 2일

출처 : Oracle

1. JRE 기본 개념

JRE(Java Runtime Environment) 는 Java 프로그램을 실행시키는 데 필요한 라이브러리와 다양한 운영체제에서 Java 프로그램을 실행할 수 있게 해주는 JVM(Java Virtual Machine) 을 제공한다.

JRE 의 특징은 오로지 Java 프로그램을 실행시키는 목적으로 존재한다는 것이다.

2. JDK 기본 개념

JDK(Java Development Kit) 는 Java 프로그램의 실행뿐만 아니라 소스 코드의 작성과 컴파일, 테스트, 패키징과 같은 빌드 과정까지 수행할 수 있도록 도와주는 SDK(Software Development Kit) 이다.

JDK 는 위의 Java 플랫폼 다이어그램을 나타낸 그림에서 알 수 있듯이 JRE 를 포함하고 있는 상위 집합으로서, JRE 에 있는 모든 라이브러리, JVM과 더불어 개발에 필요한 다양한 도구들도 포함하고 있다.
개발 도구들로는 Java의 컴파일러인 javac, Java 프로그램을 실행하는 런처 java, 그리고 Java의 디버거 jdb 등이 존재한다.

3. JRE와 JDK의 차이

정리해보면, JREJDK 를 다음과 같이 비교해볼 수 있다.

  • JRE

    Java 프로그램을 단지 실행만 하려는 사용자에게 필요한 최소한의 환경을 제공한다.
    JRE 는 Java 프로그램을 실행하는 데만 필요한 모든 요소를 포함하고 있기 때문에,
    이는 도서관에서 책을 빌려 읽기만 하는 행위로 비유할 수 있다.
  • JDK

    Java 프로그램을 개발하려는 개발자에게 필요한 환경을 제공한다.
    JDKJRE의 모든 기능을 포함하며, 이와 더불어 애플리케이션을 작성, 컴파일, 디버그하고 문서화할 수 있는 도구를 제공한다.
    이는 책을 직접 쓰고, 편집하고, 출판하는 행위로 비유할 수 있다.

4. 회고

프로젝트 진행을 위해 인텔리제이 환경 설정을 하는 과정에서 SDK를 JRE로 설정해버리는 실수를 저질렀다.
JRE, JDK의 차이를 인지하지 못하고 애를 먹느라 많은 시간 소요가 발생했었다.
하지만 이 경험 덕분에 Java 플랫폼에 대한 이해의 필요성을 느끼게 되었다.

0개의 댓글