프로그래밍 언어/JAVA

모듈 개념

· 코딩마이데이

모듈

모듈(module)은 Java9에서 처음 도입된 개념으로, 패키지(package)는 서로 관련 있는 클래스나 인터페이스의 컴파일된 클래스(.class) 파일들을 한 곳에 담는 컨테이너이고, 모듈은 패키지들을 담는 컨테이너로 모듈 파일(.jmod)로 저장합니다.

 

자바 플랫폼의 모듈화

오라클은 Java9의 도입과 함께 자바 플랫폼 전체를 모듈화하였습니다. 자파 플랫폼이란 자바 프로그램의 개발 환경과 실행 환경을 지칭하는 것으로, JDK/JRE 형태로 자바 개발자에게 제공됩니다. 오라클은 자바 API(사용자에게 제공하는 많은 클래스 라이브러리)를 모듈화하여, 패키지의 계층 구조로만 되어 있든 클래스들을 수십 개의 작은 모듈들로 재구성하였습니다.

모듈들은 개발자가 다운받은 JDK 안의 jmods 디렉터리 안에 들어 있습니다.

모듈들 중에서 꼭 필요한 기본 모듈이 java.base 모듈이며 java.base.jmod 파일에 들어 있습니다. 이 모듈에는 자바 응용프로그램에서 가장 많이 사용되는 패키지와 클래스들이 들어 있습니다. .jmod 파일은 ZIP 포맷으로 압축된 것으로 JDK의 bin 디렉터리에 있는 jmod 프로그램을 이용하여 풀 수 있습니다. 명령창에서 풀어 놓고자 하는 디렉터리로 이동한 후 다음 영령어를 입력하면 java.base 모듈이 현재 디렉터리에 풀립니다.

jmod extract "C:\Program Files\Java\Jdk-21\jmods\java.base.jmod"

 

Microsoft에서 제공하는 OpenJDK 21의 모듈들

 

java.base 모듈에 담겨 있는 패키지와 클래스들, 그리고 나머지 정보들을 보여줍니다. 모듈 내 classes 디렉토리에 com. java. javax 디렉터리가 있고 그 아래에는 페키지들이 있습니다. 패키지의 이름은 디렉토리 경로명을 붙여 다음과 같이 부릅니다.

java.io 패키지, java.lang 패키지, java.math 패키지, java.util 패키지

 

모듈 기반의 자바 실행 환경

자바 실행 환경(java run time environment)이란 자바 응용 프로그램이 실행하는데 필요한 개발 환경으로서, 웅용 프로그램이 실행 중에 사용하는 자바 API 클래스와 자바 가상 기계(JVM) 등을 이루어집니다.

Java9에서는 rt.jar를 버렸습니다. 대신, 자바 API를 많은 수의 모듈로 분할하여, 자바 응용 프로그램을 컴파일할 때 실행에 필요한 모듈들만으로 조립하여 구성하도록 하였습니다.

 

자바 모듈화의 목적

자바 컴포넌트들을 필요에 따라 조립하여 사용하기 위함입니다. 세밀한 모듈화를 통해, 필요 없는 모듈이 로드되지 않게 하여, 컴퓨터 시스템에 불필요한 부담을 줄입니다. 특히 하드웨어가 열악한 소형 IOT 장치에서도 자바 응용 프로그램이 실행되고 성능을 유지하게 합니다.

'프로그래밍 언어 > JAVA' 카테고리의 다른 글

자바 JDK에서 제공하는 패키지  (1) 2025.03.03
화면 설계  (1) 2025.02.28
패키지 만들기  (0) 2025.02.25
import와 클래스 경로  (0) 2025.02.22
Java Programming 3  (1) 2025.02.19