Java 개발 필수 상식: JDK와 JRE의 차이점 완벽 정리

Java를 처음 배우거나 개발 환경을 구축할 때 가장 헷갈리는 부분 중 하나가 바로 JDKJRE입니다. 이 둘의 차이를 제대로 알아야 내 상황에 맞는 올바른 선택을 할 수 있어요. 오늘은 이 두 개념을 쉽고 명확하게 정리해드릴게요!

🎯 JRE (Java Runtime Environment)란?

JRE는 Java 애플리케이션을 실행하기 위한 환경입니다.

JRE의 구성요소

  • JVM (Java Virtual Machine) - 바이트코드를 실행하는 가상머신
  • Java 표준 라이브러리 - String, ArrayList 등 기본 클래스들
  • 런타임 도구들 - 애플리케이션 실행에 필요한 각종 도구

JRE로 할 수 있는 일

# 이미 컴파일된 Java 프로그램 실행
java MyProgram.class
java -jar myapp.jar

JRE를 사용하는 사람들

  • 일반 사용자: Java로 만든 프로그램만 실행하는 경우
  • 서버 관리자: 웹 애플리케이션 배포 및 실행만 하는 경우

⚡ JDK (Java Development Kit)란?

JDK는 Java 애플리케이션을 개발하기 위한 전체 도구 모음입니다.

JDK의 구성요소

JRE 전체 + 개발 도구들

  • JRE 전체 (JVM + 표준 라이브러리 + 런타임 도구)
  • 개발 도구들:
    • javac - Java 컴파일러
    • jar - JAR 파일 생성/관리 도구
    • javadoc - 문서 생성 도구
    • jdb - 디버거
    • 기타 개발 유틸리티들

JDK로 할 수 있는 일

# Java 소스코드 컴파일
javac MyProgram.java

# JAR 파일 생성
jar cvf myapp.jar *.class

# 컴파일된 프로그램 실행 (JRE 기능)
java MyProgram

JDK를 사용하는 사람들

  • Java 개발자
  • 프로그램을 직접 작성하고 컴파일하는 사람

🔍 쉬운 비유로 이해하기

요리 비유

  • JRE = 완성된 요리를 먹을 수 있는 식탁과 수저
  • JDK = 요리를 만들 수 있는 주방 전체 (식재료, 조리도구, 식탁, 수저 포함)

자동차 비유

  • JRE = 자동차 (운전만 가능)
  • JDK = 자동차 + 정비소 도구 (운전 + 수리/개조 가능)

📋 상황별 선택 가이드

일반 사용자인 경우

Minecraft, IntelliJ IDEA 등 Java 프로그램만 실행
→ JRE만 설치하면 충분

개발자인 경우

Java 코드 작성, 컴파일, 실행 모두 필요
→ JDK 설치 (JRE 자동 포함)

서버 환경의 경우

개발 서버: 로컬에서 코드 작성 및 컴파일
→ JDK 필요

운영 서버: 이미 컴파일된 JAR 파일만 실행
→ JRE만 있어도 충분 (보안상 JRE 권장)

✅ 설치 확인 방법

JDK가 설치되어 있는지 확인

javac -version  # 컴파일러 버전 확인
java -version   # JVM 버전 확인

JRE만 설치된 경우

javac -version  # ❌ 명령어를 찾을 수 없음
java -version   # ✅ 정상 출력

📢 최근 변화사항 (알아두면 좋아요!)

Java 11부터의 주요 변화:

  • Oracle JDK는 상용 라이센스 정책이 변경되었습니다
  • OpenJDK가 더 널리 사용되고 있습니다
  • JRE 별도 배포가 중단되고 JDK에 통합되었습니다

🎉 정리

구분 JRE JDK

용도 Java 프로그램 실행만 Java 개발 + 실행
포함 요소 JVM + 표준 라이브러리 JRE + 개발 도구들
대상 사용자 일반 사용자, 서버 관리자 개발자
설치 권장 실행만 필요한 경우 개발하는 경우

💡 한 줄 요약: 개발을 한다면 JDK를 설치하고, 단순히 Java 프로그램만 실행한다면 JRE면 충분합니다. 하지만 최근에는 대부분 JDK를 설치하는 추세입니다!


이 포스트가 도움이 되셨나요? 댓글로 궁금한 점을 남겨주세요! 👍

태그: #Java #JDK #JRE #자바개발 #프로그래밍 #개발환경

+ Recent posts