[Java 9] Modularity(모듈화)

2022. 4. 26. 17:14개발공부/Java

Java 9 Modularity

자세한 코드는 baeldung를 참고했습니다.


Java 9버전에 새로운 기능 Modularity가 있습니다. 한 프로젝트 안에 독립적인 모듈을 여러 개 유지하면서 필요한 모듈 API를 구동함으로써 메모리를 효율적으로 사용할 수 있습니다. 또한 개별 모듈은
캡슐화을 가지면서도 서로 공유될 수 있는 접근성을 보장해줍니다.

사용할 수 있는 환경은, 프로젝트 내 여러 애플리케이션 서버를 가지는 경우 필요한 모듈만 따로 구동하되 모듈끼리 의존성을 가지는 부분은 연동이 필요할 때 사용하면 좋다고 생각합니다.

간단한 module 설정파일은 아래와 같습니다.

프로젝트 구조:

image
//module-info.java (hello.modules)
module hello.modules {
    exports com.baeldung.modules.hello;
}

//module-info.java (excluded.app)
module main.app {
        requires hello.modules;
}
//main.app 모듈의 MainApp.java
package com.baeldung.modules.main;

//hello.modules 임포트
import com.baeldung.modules.hello.HelloModules;

public class MainApp {

    public static void main(String[] args) {
        HelloModules.doSomething();
    }
}

참고자료