자바 모듈화

  • 자바 9는 8에 비해 언어적으로나 API적으로 변화가 크지는 않지만 새로운 기능이 몇 가지 추가됨
  • 그중 가장 큰 변화는 모듈화
  • 자바 버전이 올라갈 수록 복잡해지고 비대해졌기 때문에 좀더 가볍고 체계적으로 라이브러리와 가상 머신을 관리하기 위해서 모듈화 지원
  • 이번장에서는 다음에 대해서 알아봄
    • 자바 모듈화의 개념과 필요성
    • 자바 모듈을 생성하고 컴파일하고 실행하는 방법
    • 자바 모듈의 의존성과 접근성
    • 자바 모듈의 서비스와 서비스 등록
    • 자바 모듈의 링크

자바 모듈화 등장 배경

  • 자바8 까지는 패키지가 전부였음
  • 자바9 부터 모듈 지
  • jar로 배포시 문제점
    • 개발한 일부 기능을 외부에 숨기고 싶은 경우 방법이 뚜렸하지 않음, protected, private로 가능하나 제한적임
    • 자바를 컴파일하고 실행하기 위한 클래스패스가 거대해짐, 필요한 jar 파일이 많고 필요한 클래스도 많은데 개발자가 관리하기 힘듬
    • 자바 가상 머신이 커지다 보니 필요 없는 기능도 어쩔수 없이 메모리에 올리거나 사용해야함
    • 동일한 클래스가 여러 jar에 중복해서 들어가는 경우가 존재함
  • 최종적
    • 자바 플랫폼의 확장성을 강화
    • 플랫폼 통합성 개선
    • 자바 플랫폼 성능 향상
  • 신뢰성 있는 설정
  • 강력한 캡슐화
  • 자바 플랫폼의 확장성 강화
  • 플랫폼 통합성 향상
  • 성능 향상

자바 모듈화의 필요성

자바 모듈화 이해

자바 모듈 생성

자바 모듈 의존성과 접근성

자바 모듈 서비스

링크와 배포

References