1 Modules
- 자바 9에서 가장 많이 거론되는 새로운 기능
- 새로운 자바 모듈 시스템이 어디에 사용될 수 있고 개발자는 이로부터 이떤 이익을 얻을 수 있는지 알아보자
- Module 시스템을 사용하면 관심사를 분리할 수 있고 정보를 은닉할 수 있다
1.1 관심사분리
- 관심사분리는 컴퓨터 프로그램을 고유의 기능으로 나누는 동작을 의미한다
- 회계 애플리케이션을 예로 들면 파싱, 분성, 레포트 기능을 모듈이라는 각각의 부분 즉 겹치지 않는 코드 그룹으로 분리할 수 있다
- 관심사분리를 통해 얻을 수 있는 것
- 개별 기능을 따로 작업할 수 있으므로 팀이 쉽게 협업할 수 있다
- 개별 부분을 재사용하기 쉽다
- 전체 시스템을 쉽게 유지보수할 수 있다
1.2 정보 은닉
- 정보 은닉은 세부 구현을 숨기도록 장려하는 원칙이다
- 세부 구현을 숨긴 코드를 수정했을 때 이 영향이 외부까지 미칠 가능성을 줄여준다
- 정보 은닉을 캡슐화라고도 한다
- 캡슐화는 특정 코드 조각이 애플리케이션의 다른 부분과 고립되어 있어 캡슐화 된 코드 조각의 변화가 외부에 영향을 미칠 가능성을 줄이는 것이다
모듈 디스크립터
- 모듈 디스크립터의 위치는
src/main/java 디렉토리에 위치해야 한다.
2 모듈명