JRE? JDK? LTS? 자바 입문자라면 반드시 알아야 할 핵심 용어 총정리!
안녕하세요, 오늘은 자바(Java)를 배우기 시작한 분들께 꼭 필요한 정보!
자바 초보자 분들이 흔히 느끼는 혼란 중 하나는 바로 낯선 용어들입니다.
"JRE가 뭐지?", "JDK랑 뭐가 달라?", "자바 21이 LTS 버전이라던데 그건 또 뭐야?"
이렇게 자바의 기본적인 개념을 설명하는 용어들이 생각보다 어렵게 다가오는데요,
사실 알고 보면 정말 간단한 내용입니다.
이번 포스팅에서는 자바를 처음 배우는 분들이 헷갈리기 쉬운 핵심 용어들을 정리해드립니다.
☕ 1. JRE vs JDK - 자바 실행 환경과 개발 도구의 차이
자바를 시작하면 가장 먼저 마주치는 용어 중 두 가지가 바로 JRE와 JDK입니다.
이 두 용어는 자바를 ‘사용할 것이냐’, ‘개발할 것이냐’에 따라 선택이 달라지는데요, 아래에서 자세히 설명드릴게요.
📌 JRE (Java Runtime Environment)
- JRE는 자바 프로그램을 '실행'하기 위한 환경입니다.
- 우리가 자바로 만들어진 프로그램을 PC에서 실행하려면 JRE가 설치되어 있어야 해요.
- 예를 들어, 누군가가 만든 자바 게임을 실행하고 싶을 때 필요한 게 바로 JRE예요.
✔️ 비유하자면?
누군가가 만든 케이크를 맛보고 싶은데, 내가 직접 만들 필요는 없잖아요?
JRE는 바로 그 케이크를 ‘먹을 수 있게’ 해주는 도구라고 보면 됩니다.
📌 JDK (Java Development Kit)
- JDK는 자바 프로그램을 '개발'하기 위한 도구 모음입니다.
- JRE의 기능은 물론, 자바 코드를 작성하고, 컴파일하고, 디버깅까지 할 수 있는 다양한 도구들이 포함돼 있어요.
- 개발자라면 JDK는 필수죠!
✔️ 비유하자면?
JDK는 케이크를 ‘직접 만들 수 있는’ 도구와 재료들이 들어 있는 베이킹 키트입니다.
✅ 핵심 정리
구분 목적 포함 요소 설치 대상
JRE | 실행 | JVM, 클래스 라이브러리 | 사용자 |
JDK | 개발 | JRE + 컴파일러 + 디버거 등 | 개발자 |
👉 한마디로 요약하면?
"실행하려면 JRE, 개발하려면 JDK!"
☕ 2. 자바 SE? ME? EE? - 자바의 버전 종류 이해하기
자바는 다양한 환경에서 활용되기 때문에, 목적에 따라 여러 가지 '에디션'이 존재합니다.
대표적으로는 SE, ME, EE 세 가지가 있죠.
📌 Java SE (Standard Edition)
- 가장 기본적이고 표준적인 자바 버전입니다.
- 데스크탑 애플리케이션, 콘솔 앱 등을 만들 때 주로 사용됩니다.
- 우리가 일반적으로 공부하는 자바는 대부분 SE에 해당해요.
📌 Java ME (Micro Edition)
- 소형 기기용 자바 버전입니다.
- 스마트폰, 셋톱박스, 임베디드 시스템 등에 사용돼요.
- 요즘은 Android가 대체하고 있지만, IoT 영역에서는 여전히 사용됩니다.
📌 Java EE (Enterprise Edition)
- 대규모 시스템을 위한 자바 버전입니다.
- 웹 애플리케이션, 대형 서버, 분산 환경 등을 구축할 때 주로 쓰여요.
- 최근에는 Jakarta EE로 명칭이 바뀌었습니다.
✅ 핵심 정리
버전 용도 주요 대상
SE | 표준 자바, 기초 개발 | 개인, 교육용, 데스크탑 |
ME | 임베디드, IoT 기기 | 전자제품, 소형 장치 |
EE | 기업용, 웹 서버 | 대규모 시스템, 백엔드 |
💡 자바 21, 자바 SE 21, JDK 21이 다 같은 말?
맞습니다. 혼용되어 쓰이는 경우가 많지만,
- 자바 21 → 단순히 자바 언어의 버전
- 자바 SE 21 → 표준 버전임을 강조
- JDK 21 → 개발 도구임을 강조
이렇게 포커스만 조금씩 다를 뿐, 모두 같은 버전을 의미합니다.
☕ 3. 자바 버전 체계 완전 정복
자바는 버전 넘버링이 21.0.6처럼 세 자리 숫자 체계로 되어 있어요.
각 자리수마다 의미가 다르기 때문에 이해해 두는 것이 좋습니다.
📌 주 버전 (Major Version)
- 앞의 숫자예요.
- 가장 큰 업데이트가 있을 때 증가합니다.
- 우리가 흔히 말하는 ‘자바 8’, ‘자바 11’, ‘자바 21’ 등이 이에 해당해요.
📌 서브 버전 (Minor Version)
- 가운데 숫자입니다.
- 자잘한 기능 추가나 수정이 있을 때 변경되지만, 대부분은 0으로 유지됩니다.
📌 패치 버전 (Patch Version)
- 마지막 숫자입니다.
- 버그 수정이나 보안 패치가 있을 때 증가합니다.
- 이 숫자가 높을수록 안정적인 버전이라고 볼 수 있어요.
✔️ 예시: Java 21.0.6
- 주 버전: 21
- 서브 버전: 0
- 패치 버전: 6 → 6번째 버그 수정이 포함된 안정판
☕ 4. LTS란 무엇인가? 실무에서 가장 중요한 개념!
📌 LTS = Long-Term Support
- 말 그대로 장기 지원 버전입니다.
- 보안 업데이트와 기술 지원이 8년 이상 제공돼요.
- 기업 환경이나 실무에서 매우 중요하게 여겨지는 개념입니다.
📌 Non-LTS 버전은?
- 최신 기술이 빠르게 적용되는 테스트판 역할이에요.
- 보안 패치는 약 6개월만 제공됩니다.
- 실험용이나 학습용으로는 좋지만, 실무 투입에는 적합하지 않아요.
✅ LTS vs Non-LTS 차이
항목 LTS Non-LTS
지원 기간 | 8년 이상 | 약 6개월 |
안정성 | 매우 높음 | 다소 불안정 |
사용처 | 기업/프로덕션 | 테스트/학습 |
대표 버전 | 8, 11, 17, 21 | 13, 15, 19 등 |
💡 2025년 2월 기준 최신 LTS 버전은?
바로 Java 21입니다!
그리고 다가올 Java 25가 다음 LTS 버전으로 예정되어 있어요.
🧁 예시로 마무리! 이 용어들, 이렇게 쓰여요
용어 예시 문장 설명
JRE | "이 프로그램 실행하려면 JRE 설치하세요." | 실행 환경 필요 |
JDK | "자바 공부할 거면 JDK부터 설치하자!" | 개발 도구 |
자바 SE | "자바 SE 기반으로 데스크탑 앱을 만들었어요." | 표준 버전 |
자바 EE | "대규모 웹 프로젝트는 자바 EE가 필요해요." | 서버용 |
자바 버전 | "현재 사용하는 버전은 17.0.8이에요." | 주/서브/패치 버전 |
LTS | "실무에서는 항상 LTS 버전 써요." | 안정성 중요 |
🧩 마무리하며
처음 접하는 자바 용어들, 생소하고 헷갈리기 쉬우셨죠?
하지만 하나하나 찬찬히 이해하고 나면 전혀 어렵지 않습니다.
이번 포스팅을 통해
“JRE는 실행, JDK는 개발”
“LTS는 실무에, Non-LTS는 실험용”
처럼 핵심만 쏙쏙 정리되셨기를 바랍니다!
📎 관련 태그
#자바기초 #JRE #JDK #LTS #자바버전 #자바SE #코딩레시피 #자바입문 #자바공부