반응형
교육할 때에도, 실무를 수행할 때에도
개발자라면 자바 설치를 안해본 사람은 없을 것이다.
JAVA 라는 프로그래밍 언어를 처음 배울 때도 그랬고,
회사에서 자바 환경을 설치할 때도 그랬듯이,
늘 항상 궁금했던 것이 JDK 였다.

JDK
자바를 설치하려면 무조건 한 번씩 들어봤을 것이다.
특히 오픈JDK 와 오픈이 붙지 않은 JDK의 차이가 너무 궁금했다.
그 당시에 검색해서 찾아봐도 뚜렷하게 알려주는 곳이 없었다.
이번 기회에 제대로 알고 넘어 가고 싶어서 포스팅해본다.
결론부터 말하면
OpenJDK는 '설계도'이고, 일반 JDK는 그 설계도 바탕으로 만든 제품이라고 할 수 있다.
1. 오픈 JDK 비유 : 레시피
오픈JDK 개념을 백종원 선생님의 레시피라고 비유를 해보자.
- OepnJDK (오픈 소스 레시피) : 백종원 선생님이 유튜브에 모두가 볼 수 있게 공개한 '김치찌개 레시피' 그 자체인 것.
즉, 누구나 이 레시피를 보고 김치찌개를 끓일 수 있는 것이다. - JDK (프랜차이즈 식당) : 그 레시피를 가져다가 오라클이라는 회사가 '역전우동' 같은 식당을 차린 것이라고 생각하면 되겠다. 맛(성능)을 좀 더 안정적으로 튜닝하고, 돈을 내면 서빙도 해주고, 문제 생기면 관리도 해주는 '유료 서비스'가 포함된 형태인 것.
2. 기술적인 차이
1) 라이선스
유료냐 무료나의 차이.
- OpenJDK : 무료
- JDK : 유료화 정책 (개인은 무료일 수 있지만, 기업은 구독료를 내야하는 경우)
2) 성능과 안정성
- 현재는 성능 차이가 거의 없다.
3) 구성요소
- JDK (Java Development Kit): 자바 개발 도구 세트 (자바 컴파일러, JRE, 디버거 등 포함)
- JRE (Java Runtime Environment): 자바 실행 환경 (자바 프로그램을 '돌리기'만 할 때 필요)
- 현재는 JDK 안에 JRE가 포함된 형태가 기본이라, 개발자라면 그냥 JDK만 설치하면 된다.
반응형
'웹개발 > JAVA' 카테고리의 다른 글
| [Java] private final vs private static final 차이와 사용 의미 (0) | 2026.02.04 |
|---|---|
| [Java] 자바에서 final 의미 (0) | 2026.02.03 |
| [바인딩(Binding)] 바인딩 이란 (1) | 2022.08.04 |