티스토리 뷰
10.1 라이브러리
- 라이브러리: 프로그램 개발 시 활용할 수 있는 클래스와 인터페이스들을 모아놓은 것
- 일반적으로 JAR 압축 파일에 바이트 코드들이 압축되어 있다
- JAR파일을 classPaht에 추가해서 사용
10.2 모듈
- 모듈: 패키지 관리 기능까지 포함된 라이브러리
- 일반 라이브러리는 내부에 포함된 모든 패키지에 외부 프로그래의 접근이 가능하지만
- 모듈은 일부 패키지를 은닉하여 접근할 수 없음
- 모듈은 의존 모듈을 모듈 기술자에 기술할 수 있기 때문에 모듈 간의 의존 관계를 쉽게 파악 가능
- JAR파일 형태로 배포 가능
- 기능별로 모듈화해서 개발 가능 -> 모듈별로 갭ㄹ하고 조립하는 방식을 사용하면 재사용성 및 유지보수 ㅇ리
10.3 응용 프로그램 모듈화
- 기능별로 서브프로젝트(모듈)로 쪼갠 다음 조합해서 개발 가능
10.4 모듈 배포용 JAR 파일
10.5 패키지 은닉
- 모듈은 모듈 기술자에서 exports 키워드를 사요해 내부 패키지 중 외부에서 사용할 패키지를 지정
- exports 하지 않은 패키지는 자동으로 은닉
- 은닉하는 이유: 모듈 사용 방법 통일, 쉬운 수정 가능
10.6 전이 의존
- transtive키워드와 함께 의존 설정
10.7 집합 모듈
- 집합 모듈: 여러 모듈을 모아놓은 모듈로, 자체적인 패키지를 가지지 않고 모듈 기술자에 전이 의존 설정만 한다.
10.8 리플렉션 허용
- 리플렉션: 실행 도중에 타입을 검사하고 구성 멤버를 조사하는 것
- 경우에 따라서는 은닉된 패키지도 리플렉션을 허용해야할 때가 있음
- 모듈은 모듈 기술자를 통해 모듈 전체 또는 지정된 패키지에 대한 리플렉션을 허용할 수 있음
10.9 자바 표준 모듈
- JDK가 제공하는 표준 라이브러리: 자바 프로그램이 반드시 활용해야 하는 라이브러리
- java.base: 모든 모듈이 의존하는 기본 모듈로 requires하지 않아도 사요할 수 있음
- java.se: JDK가 제공하는 모든 모듈을 제공하는 집합 모듈이다. Java8 이전 버전과 같이 자바 표준 라이브러리를 제한 없이 사용하고 싶을 경우에는 이 모듈을 requires하면 된다.
- 표준 라이브러리를 모듈화한 이유는 응용프로그램을 실행하는데 필요한 모듈만으로 구성된 작은 사이즈의 자바 실행 환경 (JRE)을 만들기 위해서이다.
- 작은 사이즈의 자바 실행 환경이 필요한 이유는 1) 독립 실행형(응용프로그램+표준 라이브러리)으로 배포할 경우 표준 라이브러리 크기가 작을 수록 배포 사이즈가 줄어들고 2) 제한된 자원만 가지고 있는 소형 기기에는 사이즈가 작은 자바 실행 환경이 필요해서 이다.
'도서 및 강의 > 이것이 자바다' 카테고리의 다른 글
이것이 자바다 3판 챕터 12 (0) | 2024.09.18 |
---|---|
이것이 자바다 3판 챕터 11 (0) | 2024.09.18 |
이것이 자바다 3판 챕터 9 (0) | 2024.09.18 |
이것이 자바다 3판 챕터 8 (2) | 2024.09.17 |
이것이 자바다 3판 챕터 7 (0) | 2024.09.17 |
최근에 올라온 글