목차
지은이ㆍ옮긴이 소개 = 4
감수자 소개 = 5
옮긴이의 글 = 6
이 책에 대해 = 7
CHAPTER 1 자바 9 모듈화 소개 
  1.1 자바 언어의 모듈화 = 19
  1.2 패키지로 자바 개발 다시 생각하기 = 21
    1.2.1 라이브러리 개발자의 불운한 이야기 = 22
    1.2.2 배포 엔지니어의 불가능한 작업 = 25
    1.2.3 클래스패스 문제 = 28
  1.3 자바, 스무 해가 넘은 코드베이스 = 28
    1.3.1 레거시 클래스 = 29
  1.4 자바 플랫폼 모듈 시스템 = 32
  1.5 프로젝트 Jigsaw = 35
  1.6 요약 = 37
CHAPTER 2 첫 번째 자바 모듈 만들기 
  2.1 JDK 설정하기 = 40
  2.2 JDK 버전 전환하기 = 41
  2.3 넷빈즈 IDE 설정하기 = 42
  2.4 자바 9 모듈 = 43
    2.4.1 전통적인 자바 코드 구조 = 43
    2.4.2 모듈은 무엇인가 = 44
    2.4.3 모듈 생성하기 = 45
    2.4.4 첫 번째 자바 모듈 만들기 = 48
    2.4.5 모듈 컴파일하기 = 49
    2.4.6 모듈 실행하기 = 51
  2.5 넷빈즈 활용 모듈 만들기 = 52
  2.6 주소록 관리 프로그램 = 57
  2.7 오류 다루기 = 61
  2.8 요약 = 62
CHAPTER 3 모듈 간 의존성 다루기 
  3.1 두 번째 모듈 만들기 = 64
  3.2 두 모듈 컴파일하기 = 65
  3.3 모듈 의존성 설정하기 = 67
  3.4 모듈 버전 관리 = 72
  3.5 패키지 구조 다시 생각하기 = 73
  3.6 모듈 경로 인자 이해하기 = 74
  3.7 클래스패스 다시 보기 = 75
  3.8 클래스패스 문제점 다시 보기 = 75
  3.9 요약 = 77
CHAPTER 4 모듈화 JDK 소개 
  4.1 레거시 JDK 확인 = 80
    4.1.1 JRE 구조 = 80
    4.1.2 API 캡슐화의 상태 = 82
  4.2 프로젝트 Jigsaw로 들어가기 = 85
  4.3 플랫폼 모듈화 = 85
    4.3.1 플랫폼 모듈화의 영향 = 88
    4.3.2 모듈 그래프 = 87
    4.3.3 java, base 모듈 = 88
    4.3.4 모듈 살펴보기 = 89
    4.3.5 모듈 타입 = 91
    4.3.6 플랫폼 파일 구조 확인하기 = 93
  4.4 관찰대상 모듈 = 94
  4.5 두 가지 문제점 다시 보기 = 95
    4.5.1 모놀리식 런타임 문제 해결 = 95
    4.5.2 API 캡슐화 문제 해결 = 96
  4.6 요약 = 96
CHAPTER 5 플랫폼 API 사용하기 
  5.1 로깅 기능 추가 = 98
    5.1.1 대안적인 컴파일러 명령 사용하기 = 100
  5.2 XML 파일에서 주소록 정보 읽기 = 101
    5.2.1 하드코딩된 주소록 제거하기 = 102
    5.2.2 모듈 생성하기 = 102
    5.2.3 XmlUtil 클래스 코딩하기 = 104
    5.2.4 ContactLoader 클래스 코딩하기 = 105
    5.2.5 새로운 모듈 호출하기 = 109
  5.3 자바 FX로 UI 추가하기 = 111
    5.3.1 모듈 생성하기 = 111
  5.4 요약 = 117
CHAPTER 6 가독성과 접근성 
  6.1 가독성 = 120
  6.2 접근성 = 121
    6.2.1 인터페이스와 구현의 접근성 = 123
    6.2.2 분리된 패키지 = 125
  6.3 모듈화 비틀기 = 127
    6.3.1 암시적 가독성 = 127
    6.3.2 집합자 모듈 = 131
    6.3.3 제한적 익스포트 = 133
  6.4 주소록 관리 프로그램에 개념 적용하기 = 135
    6.4.1 사용자 정의 집합자 모듈 만들기 = 135
    6.4.2 모듈 임포트 최적화하기 = 137
    6.4.3 모듈 익스포트 최적화하기 = 138
  6.5 요약 = 139
CHAPTER 7 서비스 소개 
  7.1 결합의 문제 = 141
  7.2 서비스 이해하기 = 144
    7.2.1 서비스 등록자 = 145
    7.2.2 서비스 생성하고 사용하기 = 146
    7.2.3 정렬 서비스 구현하기 = 150
    7.2.4 모듈 그래프 그리기 = 154
  7.3 고급 서비스 = 154
    7.3.1 싱글톤과 팩토리 제공자의 지원 = 155
    7.3.2 서비스 우선순위 구현하기 = 155
    7.3.3 서비스 인터페이스 제공자 탐색하기 = 158
    7.3.4 선택적인 서비스 인스턴스화 = 159
  7.4 서비스와 모듈 시스템의 목적 = 161
  7.5 요약 = 162
CHAPTER 8 링킹 이해하기와 jlink 활용하기 
  8.1 모듈 해석 = 165
    8.1.1 모듈 해석 과정 = 167
    8.1.2 모듈 해석 실행해보기 = 168
  8.2 JDK 상태 다시 보기 = 170
  8.3 jlink를 활용한 링킹 = 171
    8.3.1 jlink 명령 = 172
    8.3.2 링킹 최적화와 jlink 플러그인 = 176
  8.4 모듈 JAR 파일 만들기 = 178
  8.5 요약 = 179
CHAPTER 9 모듈 설계 패턴과 전략 
  9.1 모듈 설계하기 = 181
    9.1.1 범위 = 182
    9.1.2 팀 구조 = 183
    9.1.3 재사용성 = 183
  9.2 관심사에 따른 모듈화 = 184
  9.3 계층 구조로 모듈화 = 185
  9.4 변화 패턴으로 모듈화 = 185
  9.5 API 설계하기 = 185
  9.6 자바 모듈의 코딩 패턴과 전략 = 186
    9.6.1 패턴 1 - 공개 인터페이스와 내부 구현, 팩토리 클래스 = 186
    9.6.2 패턴 2 - 다수의 동적 구현을 위한 서비스 = 187
    9.6.3 패턴 3 - 선택적 의존성 = 189
    9.6.4 패턴 4 - 서비스를 활용한 선택적 의존성 = 192
    9.6.5 패턴 5 - 모델 클래스를 별도의 공유 모듈로 묶기 = 195
    9.6.6 패턴 6 - 리플렉션을 위한 열린 모듈 = 195
    9.6.7 패턴 7 - 버전 관리를 위한 도구 사용 = 198
    9.6.8 패턴 8 - 변화를 위한 설계 = 199
    9.6.9 패턴 9 - 의존성 누수로부터 보호하기 = 200
    9.6.10 패턴 10 - 집합자와 퍼시드 모듈 = 201
  9.7 요약 = 203
CHAPTER 10 자바 9를 위한 코드 준비하기 
  10.1 자바 9 마이그레이션 시작 = 206
  10.2 자바 8 기반의 응용 프로그램 예제 = 207
  10.3 자바 9 컴파일러와 런타임 사용하기 = 209
    10.3.1 이름 없는 모듈 = 211
    10.3.2 비표준 접근 다루기 = 214
    10.3.3 모듈 행동 오버라이드하기 = 217
  10.4 영향력 이해하기 = 221
  10.5 추천 전략 = 222
  10.6 요약 = 223
CHAPTER 11 자바 9로 마이그레이션하기 
  11.1 마이그레이션 목표 이해하기 = 226
  11.2 마이그레이션 시작하기 = 229
    11.2.1 자동 모듈 = 233
    11.2.2 자동 모듈로 마이그레이션하기 = 235
    11.2.3 jdeps로 모듈 관계 확인하기 = 237
    11.2.4 작은 모듈로 리팩토링하기 = 238
  11.3 좀 더 큰 코드베이스 다루기 = 239
  11.4 라이브러리 마이그레이션하기 = 241
    11.4.1 라이브러리 이름 예약하기 = 242
    11.4.2 jdpes 명령으로 모듈 기술자 생성하기 = 243
  11.5 여러 자바 버전에 대응하는 라이브러리 빌드하기 = 244
  11.6 요약 = 248
CHAPTER 12 빌드 도구 활용과 자바 모듈 테스트 
  12.1 아파치 메이븐과 통합하기 = 252
    12.1.1 메이븐 훑어보기 = 252
    12.1.2 자바 9 모듈과 메이븐 사용하기 = 252
    12.1.3 멀티 모듈 자바 9 메이븐 프로젝트와 작업하기 = 254
  12.2 자바 9로 유닛 테스트하기 = 259
    12.2.1 자바 9 모듈 테스트하기 = 260
  12.3 요약 = 264
  12.4 마무리 = 264
찾아보기 = 265
닫기