[java] Jigsaw 모듈화 개발의 프로세스와 주의점

"Jigsaw"

개요

Java 9부터 도입된 Jigsaw는 Java 어플리케이션의 모듈화를 지원하기 위한 기술입니다. Jigsaw를 사용하면 모듈 단위로 코드를 구성하고, 코드 간의 의존성을 명확하게 관리할 수 있습니다. 이를 통해 어플리케이션의 유지보수성과 안전성을 향상시킬 수 있습니다.

이 글에서는 Jigsaw 모듈화 개발의 프로세스와 주의점에 대해 살펴보겠습니다.

프로세스

Jigsaw 모듈화 개발을 위한 일반적인 프로세스는 다음과 같습니다.

  1. 모듈화할 코드 식별하기: 모듈화할 코드를 식별하고, 코드를 모듈 단위로 나눌 수 있는 기준을 설정합니다. 일반적으로 기능별로 코드를 그룹화하거나, 관련된 기능을 담당하는 패키지를 모듈로 만들 수 있습니다.

  2. 모듈 정의하기: 모듈은 module-info.java 파일로 정의됩니다. 이 파일에는 모듈 이름, 필요한 다른 모듈들, 내보낼 패키지들 등의 정보가 포함됩니다.

    module com.example.module {
        requires com.example.dependency1;
        requires com.example.dependency2;
       
        exports com.example.module.package1;
        exports com.example.module.package2;
    }
    

    모듈 정의 파일을 작성하면, 해당 모듈은 다른 모듈에서 사용되거나 패키지를 공개할 수 있습니다.

  3. 의존성 관리하기: 모듈 간의 의존성을 관리하기 위해 requires 키워드를 사용합니다. 모듈은 requires로 사용할 다른 모듈들을 명시하며, 이를 통해 의존성을 명확하게 정의할 수 있습니다.

  4. 패키지 공개하기: 모듈 내에서 외부에 공개할 패키지들을 exports 키워드를 사용해 정의합니다. 이를 통해 다른 모듈에서 해당 패키지를 사용할 수 있습니다.

  5. 빌드 및 실행하기: Jigsaw 모듈화 개발 시에는 모듈 경로를 지정해 컴파일하고 실행해야 합니다. 모듈 경로를 설정하면, 해당 모듈에 필요한 의존성을 제공하거나 사용할 수 있습니다.

주의점

Jigsaw 모듈화 개발 시에는 몇 가지 주의점이 있습니다.

  1. 모듈 간의 의존성 관리: 모듈 간의 의존성이 명확하게 정의되어야 합니다. 모듈은 필요로 하는 다른 모듈들을 requires로 명시하며, 이를 통해 의존성을 명확하게 관리할 수 있습니다.

  2. 모듈 경로 설정: Jigsaw 모듈화 개발 시에는 모듈 경로를 지정해주어야 합니다. 모듈 경로는 컴파일 및 실행 시에 필요한 모듈들을 찾기 위한 경로입니다.

  3. 패키지 공개 설정: 모듈 내에서 공개할 패키지들은 exports 키워드를 사용하여 명시적으로 지정해주어야 합니다. 이를 통해 다른 모듈에서 해당 패키지를 사용할 수 있습니다.

Jigsaw를 사용하여 Java 어플리케이션을 모듈화하면 코드의 유지보수성과 안전성을 향상시킬 수 있습니다. Jigsaw 모듈화 개발의 프로세스를 이해하고 주의점을 숙지하여 효율적인 모듈 개발을 진행해보세요.


참고자료: