이 게시글은 이것이 자바다(저자 : 신용권, 임경균)의 책과 동영상 강의를 참고하여 개인적으로 정리하는 글임을 알립니다.
전이 의존
이러한 의존 관계를 아래의 의존 관계로 바꾸었다고 해보자.
이렇게 되면 myapp1은 module_1에 있는 내용은 접근할 수 있지만, module_2의 내용은 접근할 수 없다.
myapp1에서 module_1과 module_2에 있는 내용 전부 접근하고 싶다면 전이 의존을 이용해야 한다.
이 상황에서 전이 의존은 module_1의 모듈 기술자에 transitive 키워드와 module_2를 의존 설정하면 된다.
module myapp1 {
requires module_1;
}
module module_1 {
requires transitive module_2
}
당연히 module_1과 module_2의 위치를 알려줘야 한다.
이제 의존 관계는 아래와 같다.
집합 모듈
- 집합 모듈은 전이 의존을 이용하여 여러 모듈을 모아놓은 모듈을 뜻한다.
- 자주 사용되는 모듈들을 일일이 requires 하는 번거로움을 피하고 싶을 때 집합 모듈을 생성하면 편리하다.
- 집합 모듈은 자체적인 패키지를 가지지 않고, 모듈 기술자에 전이 의존 설정만 하면 된다.
예를 들어 my_module은 module_1과 module_2를 제공하는 집합 모듈이라고 가정하면 my_module의 모듈 기술자는 아래와 같이 작성할 수 있다.
module my_module {
requires transitive module_1;
requires transitive module_2;
}
따라서 외부에서는 my_module만 모듈 기술자에서 requires 해주면 module_1과 module_2를 모두 사용할 수 있다.
하지만 my_module, module_1, module_2 모두 경로를 알려줘야 한다는 귀찮은 점이 있다.
'Java Category > Java' 카테고리의 다른 글
[Java] Getter와 Setter 메소드 (0) | 2023.07.24 |
---|---|
[JAVA] 리플렉션(Reflection)과 어노테이션(Annotation) (0) | 2023.07.23 |
[JAVA] 모듈(응용 프로그램 모듈화) (0) | 2023.07.21 |
[JAVA] 자바 표준 모듈, java.base 모듈 (0) | 2023.07.20 |
[JAVA] 라이브러리 생성 및 불러오기 (0) | 2023.07.19 |