[Java] JDK(Java Development Kit)란 무엇인가?
1. Question
JDK(Java Development Kit)
란 무엇인가?
2. Answer
JDK
는 Java Development Kit
의 약어로, 자바 프로그램 개발을 위한 핵심 도구와 라이브러리를 포함하는 소프트웨어 개발 키트이다. JDK
는 자바 프로그래머가 자바 언어로 애플리케이션을 개발하고 실행하기 위해 필요한 모든 도구를 제공한다.
3. Detail
A. JDK 구성 요소
-
자바 컴파일러 (javac):
JDK
에는 자바 소스 코드를 컴파일하여 바이트 코드로 변환하는 데 사용되는 자바 컴파일러가 포함되어 있다. -
자바 가상 머신 (JVM):
JDK
는 자바 응용 프로그램을 실행하는 데 필요한 자바 가상 머신 (Java Virtual Machine
,JVM
)을 제공한다.JVM
은 바이트 코드를 실행 코드로 변환하고 실행하는 역할을 한다. -
자바 API 라이브러리:
JDK
에는 자바 개발을 위한 표준 API 라이브러리가 포함되어 있으며, 이것은 다양한 기능과 클래스를 제공하여 자바 응용 프로그램을 개발할 때 사용된다. -
도구와 유틸리티:
JDK
에는 자바 개발을 지원하는 다양한 도구와 유틸리티가 포함되어 있따. 예를 들어, 디버깅 도구, 프로파일링 도구, 패키지 관리 도구 등이 있다. -
개발 문서와 예제 코드:
JDK
는 자바 개발자를 위한 공식 문서와 예제 코드도 함께 제공하여, 자바 언어 및 플랫폼을 학습하고 개발하는 데 도움을 준다.
B. JDK 특징
-
플랫폼 독립성: 자바 언어와
JDK
는 플랫폼 독립성을 강조한다. 따라서,JDK
를 사용하여 개발된 자바 애플리케이션은 다양한 운영 체제와 하드웨어에서 실행될 수 있다. -
버전 관리:
JDK
는 정기적으로 업데이트되며 새로운 기능, 개선된 보안 및 성능 업데이트를 제공한다. 개발자는 최신 버전의JDK
를 사용하여, 최신 기술과 표준을 활용할 수 있다. -
라이선스:
JDK
는 무료로 사용할 수 있는OpenJDK
와 상용 버전인Oracle JDK
등 다양한 라이선스로 제공된다. 개발자는 라이선스 조건을 고려하여 적절한JDK
를 선택할 수 있다.
C. JDK 버전 변화
-
JDK 8 (2014): 이 버전은
람다 표현식
,스트림 API
,새로운 날짜/시간 API
를 도입했다. 이것은 자바 개발에서 중요한 변화를 가져왔고, 함수형 프로그래밍 스타일을 자바에 통합했다. -
JDK 9 (2017): 모듈 시스템(
JPMS
)이 가장 큰 변화였다. 이것은 큰 애플리케이션을 모듈로 나누어 더욱 관리하기 쉽게 만들어주었다. 또한,JShell
(대화형 자바 쉘)이 도입되어 간단한 자바 코드를 빠르게 실험해볼 수 있게 되었다. -
JDK 10 (2018): 지역 변수 형 추론(
var
)이 추가되어 코드 작성이 더 간결해졌다. 이는 개발자들이 변수의 타입을 명시하지 않고도 변수를 선언할 수 있게 해주었다. -
JDK 11 (2018): 이는 장기 지원(
Long Term Support
,LTS
) 버전으로, 새로운HTTP 클라이언트 API
가 도입되었고, 람다 표현식에서 지역 변수에 대한var
사용이 가능해졌다. -
JDK 12-17 (2019-2021): 이 기간 동안 많은 기능이 추가되었다. 예를 들어,
패턴 매칭
,레코드
,스위치 표현식 개선
,텍스트 블록
등이 포함된다. 이러한 변화들은 코드의 가독성과 간결성을 높이는데 초점을 맞췄다. -
JDK 18 (2022): 이 버전에서는 패턴 매칭과 벡터 API에 대한 개선이 이루어졌다.
D. Java와 JDK 버전 상관성
Java
애플리케이션을 개발할 때 사용하는 JDK
의 버전은 해당 애플리케이션에서 사용하려는 Java
언어의 버전과 일치해야 한다. 이는 새로운 언어 기능과 API를 올바르게 사용하기 위함이다. 예를 들어, Java 11
의 새로운 기능을 사용하고 싶다면, JDK 11
이상을 사용해야 한다.
하지만 역호환성 측면에서, 더 높은 버전의 JDK
는 일반적으로 이전 버전의 Java
언어 기능을 지원한다. 예를 들어, JDK 11
은 Java 8
에서 작성된 코드를 컴파일 하고 실행할 수 있다. 그러나 더 낮은 버전의 JDK
는 새 버전의 Java
언어 기능을 지원하지 않는다.
Java
version <JDK
version
4. Reference
None
댓글남기기