자바를 “쓴다”는 말은 보통 JDK를 설치한다는 뜻입니다.
JDK에는 단순 실행 환경(JRE)뿐만 아니라, 컴파일러(javac), 패키징(jar), 문서화(javadoc), 디버깅/모니터링 도구까지 포함됩니다.
즉, JDK는 “자바 언어” 자체가 아니라, 자바를 개발할 수 있게 해주는 개발 키트입니다.
“JDK는 개발 도구 세트이고,
JVM은 실행 엔진이며,
JRE는 실행에 필요한 묶음이다.”
💡 TIP / 참고사항
실무에서 “JRE 설치했는데 왜 빌드가 안 되지?” 같은 문제가 생기는데, 이유는 간단합니다.
컴파일러(javac)가 JDK에만 있기 때문입니다. 서버에 “실행만” 하면 되는 경우엔 JRE만으로도 가능하지만, 개발/빌드는 JDK가 필요합니다.
같은 자바 코드라도 JDK 버전에 따라 지원하는 문법과 표준 라이브러리가 달라집니다. 또한 JVM/GC 동작과 성능 특성도 바뀝니다. 그래서 프로젝트에서는 보통 LTS(Long-Term Support) 버전(예: 8, 11, 17, 21)을 기준으로 선택합니다.
👍 GOOD
- 팀/CI/CD/서버가 동일한 JDK 버전을 사용(재현성 확보)
- LTS 버전을 기준으로 운영(업데이트/보안 패치 안정)
- Gradle/Maven에서 toolchain으로 버전 고정
👎 BAD
- 로컬은 21, CI는 17, 서버는 11 → 환경 차이로 빌드/런타임 이슈
- “일단 최신”으로 올렸다가 라이브러리 호환성 깨짐
- 버전 정책 없이 사람마다 설치한 JDK가 다름
✅ 핵심 요약
- ✔️ JDK는 자바 개발을 위한 툴체인(컴파일/패키징/진단 포함)이다.
- ✔️ JRE/JVM과 구분해야 하며, 빌드에는 javac가 있는 JDK가 필요하다.
- ✔️ 실무에선 LTS 버전과 toolchain으로 버전을 고정하는 게 중요하다.