Computer >> 컴퓨터 >  >> 프로그래밍 >> Java

Java 9 모듈 시스템의 장점과 단점 완벽 정리

Java 9의 가장 큰 변화는 모듈 시스템(Module System)의 도입입니다. 이를 통해 모듈화된 JVM이 제공되며, 가용 메모리가 적은 기기에서도 실행할 수 있게 되었습니다. JVM은 애플리케이션에 필요한 모듈과 API만으로 구동되므로 리소스 사용이 크게 최적화됩니다.

module Module-Name {
   requires moduleName;
   exports packageName;
}

모듈 시스템은 위와 같은 간결한 문법으로 정의하며, requires로 의존 모듈을 선언하고 exports로 외부에 공개할 패키지를 지정합니다. 그렇다면 Java 9 모듈 시스템에는 어떤 장점과 단점이 있을까요?

모듈 시스템의 장점

  • Java 9의 핵심 변화는 모듈화된 JDK, 모듈화된 소스 코드, 모듈화된 런타임 이미지를 갖춘 모듈 시스템이라는 점입니다.
  • 모듈 내부의 내부 API(Internal API)는 외부로부터 숨겨지므로 캡슐화가 강화됩니다.
  • 모듈 시스템은 분산 데이터 처리를 다루는 프로젝트 개발에 더 많은 기회를 제공합니다. 예를 들어, 새로운 Java 9는 다양한 데이터를 동시에 처리해야 하는 IoT 솔루션 및 플랫폼 구축에 활용되고 있습니다.
  • 이제 모듈 내에서 메서드를 public으로 선언하더라도, 외부 일반 사용자의 접근은 제한할 수 있어 보다 세밀한 접근 제어가 가능합니다.

모듈 시스템의 단점

  • Java 9 출시 이후 이전 버전의 Java는 더 이상 지원되지 않으므로, 클라이언트는 마이그레이션에 상당한 시간과 비용을 투자해야 할 수 있습니다.
  • 프로젝트가 아직 개발 단계라면 전환 부담이 크지 않지만, 이미 운영 중인 다른 솔루션의 경우 마이그레이션이 심각한 문제가 될 수 있습니다.
  • 프로그램 제품과 라이브러리 간의 상호 의존성 문제가 아직 완전히 해결되지 않아, 신규 제품 설치나 기존 제품 제거 작업이 어려울 수 있습니다.