logo
logo
x
바코드검색
BOOKPRICE.co.kr
책, 도서 가격비교 사이트
바코드검색

인기 검색어

실시간 검색어

검색가능 서점

도서목록 제공

The Java™ Language Specification

The Java™ Language Specification

(한국어판, Third Edition)

James Gosling, Bill Joy, Guy L.Steele jr., Gilad Bracha, 최선재 (지은이), 이상민, 이정룡, 허진영 (옮긴이), 김형준 (감수)
  |  
에이콘출판
2008-01-02
  |  
36,000원

일반도서

검색중
서점 할인가 할인률 배송비 혜택/추가 실질최저가 구매하기
알라딘 32,400원 -10% 0원 1,800원 30,600원 >
yes24 로딩중
교보문고 로딩중
영풍문고 로딩중
인터파크 로딩중
11st 로딩중
G마켓 로딩중
쿠팡 로딩중
쿠팡로켓 로딩중
notice_icon 검색 결과 내에 다른 책이 포함되어 있을 수 있습니다.

중고도서

검색중
로딩중

e-Book

검색중
서점 정가 할인가 마일리지 실질최저가 구매하기
로딩중

책 이미지

The Java™ Language Specification

책 정보

· 제목 : The Java™ Language Specification (한국어판, Third Edition)
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 언어 > 자바
· ISBN : 9788960770072
· 쪽수 : 704쪽

책 소개

자바언어를 만든 사람들에 의해서 작성된 자바 프로그래밍 언어의 기술적 참고 서적의 결정판. 자바 프로그래밍 언어에 대한 완벽하고 정확하며 상세한 설명을 제공한다.

목차

1장 소개 1
1.1 예제 프로그램 5
1.2 표기법 5
1.3 이미 정의되어 있는 클래스, 인터페이스와의 관계 6
1.4 참고 문헌 6

2장 문법 8
2.1 문맥 자유 문법 8
2.2 어휘 문법 8
2.3 구문 문법 9
2.4 문법 표기법 9

3장 어휘 구조 13
3.1 유니코드 13
3.2 어휘 번역 14
3.3 유니코드 확장문자 15
3.4 라인 종결자 16
3.5 입력 요소 및 토큰 17
3.6 공백 18
3.7 주석 18
3.8 식별자 19
3.9 예약어 21
3.10 리터럴 21
3.10.1 정수 리터럴 22
3.10.2 부동 소수점 리터럴 24
3.10.3 Boolean 리터럴 27
3.10.4 문자 리터럴 27
3.10.5 문자열 리터럴 28
3.10.6 문자 리터럴과 문자열 리터럴의 확장 문자열 30
3.10.7 Null 리터럴 31
3.11 구분자 32
3.12 연산자 32

4장 타입, 값, 변수 33
4.1 타입의 종류와 값 34
4.2 기본자료형과 값 35
4.2.1 정수형과 값 36
4.2.2 정수 연산 36
4.2.3 부동소수점형, 형식, 값 38
4.2.4 부동소수점 연산자 40
4.2.5 boolean형과 boolean 값 43
4.3 참조자료형과 값 44
4.3.1 객체 45
4.3.2 Object 클래스 48
4.3.3 String 클래스 49
4.3.4 참조자료형이 동일할 경우 49
4.4 타입 변수 50
4.5 매개변수화 타입 52
4.5.1 타입 인자와 와일드카드 53
4.5.1.1 타입 인자 포함과 동등 55
4.5.2 매개변수화 타입의 구성 요소와 생성자 56
4.6 타입 삭제 56
4.7 구체화 가능한 타입 57
4.8 원형 타입 58
4.9 교차 타입 62
4.10 하위타입화 63
4.10.1 기본자료형 사이의 하위타입화 63
4.10.2 클래스와 인터페이스 타입 사이의 하위타입화 64
4.10.3 배열 타입의 하위타입화 65
4.11 타입의 사용 65
4.12 변수 67
4.12.1 기본자료형 변수 67
4.12.2 참조자료형 변수 67
4.12.2.1 힙 오염 68
4.12.3 변수의 종류 69
4.12.4 final 변수 71
4.12.5 변수의 디폴트값 72
4.12.6 타입, 클래스, 인터페이스 73

5장 형변환과 확장 77
5.1 형변환의 종류 80
5.1.1 식별 형변환 80
5.1.2 기본자료형 확장 형변환 80
5.1.3 기본자료형 축소 형변환 82
5.1.4 기본자료형 확장 및 축소 형변환 84
5.1.5 참조자료형 확장 형변환 85
5.1.6 참조자료형 축소 형변환 85
5.1.7 박싱 형변환 86
5.1.8 언박싱 형변환 88
5.1.9 비확인 형변환 89
5.1.10 캡쳐 형변환 89
5.1.11 문자열 형변환 92
5.1.12 형변환 금지 92
5.1.13 값 집합 형변환 92
5.2 할당 형변환 93
5.3 메소드 호출 형변환 99
5.4 문자열 형변환 101
5.5 캐스팅 형변환 101
5.6 수치 확장 108
5.6.1 단항 수치 확장 108
5.6.2 이항 수치 확장 109

6장 이름 113
6.1 선언 114
6.2 이름과 식별자 115
6.3 선언의 유효범위 117
6.3.1 선언 감춤 119
6.3.2 모호한 선언 121
6.4 멤버와 상속 122
6.4.1 타입 변수의 멤버, 매개변수화 타입, 원형 타입, 교차 타입 122
6.4.2 패키지의 멤버 122
6.4.3 클래스 타입의 멤버 123
6.4.4 인터페이스 타입의 멤버 124
6.4.5 배열 타입의 멤버 125
6.5 이름의 의미 결정 126
6.5.1 문맥에 따른 이름의 구문 분류 127
6.5.2 문맥상 모호한 이름의 재분류 129
6.5.3 패키지명의 의미 131
6.5.3.1 단순 패키지명 131
6.5.3.2 한정 패키지명 131
6.5.4 패키지_또는_타입명의 의미 131
6.5.4.1 단순 패키지_또는_타입명 131
6.5.4.2 한정 패키지_또는_타입명 131
6.5.5 타입명의 의미 132
6.5.5.1 단순 타입명 132
6.5.5.2 한정 타입명 132
6.5.6 표현식명의 의미 134
6.5.6.1 단순 표현식명 134
6.5.6.2 한정 표현식명 135
6.5.7 메소드명의 의미 137
6.5.7.1 단순 메소드명 137
6.5.7.2 한정 메소드명 137
6.6 접근 제어 138
6.6.1 접근 가능성 결정 138
6.6.2 protected 접근 139
6.6.2.1 protected 멤버 접근 139
6.6.2.2 protected 생성자 한정 접근 139
6.6.3 접근 제어 예제 140
6.6.4 public과 비 public 클래스 접근 예제 141
6.6.5 필드, 메소드, 생성자의 디폴트 접근 예제 142
6.6.6 public 필드, 메소드, 생성자 접근 예제 143
6.6.7 protected 필드, 메소드, 생성자 접근 예제 143
6.6.8 private 필드, 메소드, 생성자 접근 예제 144
6.7 완전한정명과 정규명 145
6.8 명명 규칙 146
6.8.1 패키지명 147
6.8.2 클래스명과 인터페이스명 147
6.8.3 타입 변수명 148
6.8.4 메소드명 149
6.8.5 필드명 150
6.8.6 상수명 150
6.8.7 지역변수명과 매개변수명 151

7장 패키지 153
7.1 패키지 멤버 153
7.2 패키지를 위한 호스트 지원 154
7.2.1 파일 시스템에 패키지 저장하기 155
7.2.2 데이터베이스에 패키지 저장하기 156
7.3 컴파일 단위 157
7.4 패키지 선언 158
7.4.1 기명 패키지 158
7.4.1.1 패키지 어노테이션 158
7.4.2 무기명 패키지 159
7.4.3 패키지의 유효성 159
7.4.4 패키지 선언의 유효범위 160
7.5 임포트 선언 160
7.5.1 단일 타입 임포트 선언 161
7.5.2 요청 타입 임포트 선언 163
7.5.3 단일 정적 임포트 선언 163
7.5.4 요청 정적 임포트 선언 165
7.5.5 자동 임포트 165
7.5.6 비정상적인 예 165
7.6 최상위 타입 선언 166
7.7 유일한 패키지명 170

8장 클래스 173
8.1 클래스 선언 174
8.1.1 클래스 제한자 175
8.1.1.1 추상 클래스 176
8.1.1.2 final 클래스 178
8.1.1.3 strictfp 클래스 178
8.1.2 제네릭 클래스와 타입 매개변수 178
8.1.3 내부 클래스와 인클로징 인스턴스 181
8.1.4 상위클래스와 하위클래스 183
8.1.5 상위인터페이스 185
8.1.6 클래스 바디와 멤버 선언 189
8.2 클래스 멤버 190
8.2.1 상속의 예 191
8.2.1.1 디폴트 접근을 갖는 상속 예제 191
8.2.1.2 public과 protected의 상속 192
8.2.1.3 private의 상속 193
8.2.1.4 접근 불가능한 클래스의 멤버에 대한 접근 193
8.3 필드 선언 195
8.3.1 필드 제한자 197
8.3.1.1 정적 필드 197
8.3.1.2 final 필드 198
8.3.1.3 transient 필드 199
8.3.1.4 volatile 필드 199
8.3.2 필드 초기화 200
8.3.2.1 클래스 변수 초기자 201
8.3.2.2 인스턴스 변수 초기자 202
8.3.2.3 초기화 중 필드 사용의 제한 202
8.3.3 필드 선언의 예 205
8.3.3.1 클래스 변수 숨김 예제 205
8.3.3.2 인스턴스 변수 숨김 예제 206
8.3.3.3 다중상속필드 예제 207
8.3.3.3 필드의 재상속 예제 209
8.4 메소드 선언 210
8.4.1 형식 매개변수 211
8.4.2 메소드 서명 213
8.4.3 메소드 제한자 214
8.4.3.1 추상 메소드 215
8.4.3.2 정적 메소드 217
8.4.3.3 final 메소드 217
8.4.3.4 native 메소드 218
8.4.3.5 strictfp 메소드 219
8.4.3.6 synchronized 메소드 219
8.4.4 제네릭 메소드 220
8.4.5 메소드 리턴 타입 221
8.4.6 메소드 throws 절 222
8.4.7 메소드 바디 224
8.4.8 상속, 오버라이딩, 숨기기 224
8.4.8.1 인스턴스 메소드 오버라이딩 225
8.4.8.2 클래스 메소드 숨기기 226
8.4.8.3 오버라이딩과 숨기기의 조건 226
8.4.8.4 오버라이드 동등한 서명을 갖는
메소드 상속하기 229
8.4.9 오버로딩 230
8.4.10 메소드 선언의 예 230
8.4.10.1 오버라이딩 예제 231
8.4.10.2 오버로딩, 오버라이딩, 숨기기 예제 231
8.4.10.3 부정확한 오버라이딩 예 232
8.4.10.4 오버로딩과 숨기기 비교 예제 232
8.4.10.5 숨겨진 클래스 메소드의 호출 예제 234
8.4.10.6 오버라이딩에 대한 예제 235
8.4.10.7 throws로 인한 부정확한 오버라이딩 예제 237
8.5 멤버 타입 선언 238
8.5.1 제한자 238
8.5.2 정적 멤버 타입 선언 238
8.6 인스턴스 초기자 239
8.7 정적 초기자 240
8.8 생성자 선언 240
8.8.1 형식 매개변수와 형식 타입 매개변수 241
8.8.2 생성자 서명 241
8.8.3 생성자 제한자 241
8.8.4 제네릭 생성자 242
8.8.5 생성자 throws 절 243
8.8.6 생성자의 타입 243
8.8.7 생성자 바디 243
8.8.7.1 명시적 생성자 호출 244
8.8.8 생성자 오버로딩 247
8.8.9 디폴트 생성자 247
8.8.10 클래스의 인스턴스화 막기 248
8.9 열거형 249

9장 인터페이스 259
9.1 인터페이스 선언 260
9.1.1 인터페이스 제한자 260
9.1.1.1 추상 인터페이스 261
9.1.1.2 strictfp 인터페이스 261
9.1.2 제네릭 인터페이스와 타입 매개변수 261
9.1.3 상위인터페이스와 하위인터페이스 262
9.1.4 인터페이스 바디와 멤버 선언 263
9.1.5 인터페이스 멤버명에 대한 접근 263
9.2 인터페이스 멤버 264
9.3 필드(상수) 선언 264
9.3.1 인터페이스 내 필드의 초기화 265
9.3.2 필드 선언의 예 266
9.3.2.1 모호하게 상속된 필드 266
9.3.2.2 여러 번 상속된 필드 266
9.4 추상 메소드 선언 267
9.4.1 상속과 오버라이딩 268
9.4.2 오버로딩 269
9.4.3 추상 메소드 선언의 예 269
9.3.3.1 오버라이딩 예제 269
9.3.3.2 오버로딩 예제 270
9.5 멤버 타입 선언 270
9.6 어노테이션 타입 271
9.6.1 미리 정의된 어노테이션 타입 278
9.6.1.1 Target 278
9.6.1.2 Retention 278
9.6.1.3 Inherited 279
9.6.1.4 Override 279
9.6.1.5 SuppressWarnings 280
9.6.1.6 Deprecated 281
9.7 어노테이션 281

10장 배열 287
10.1 배열 타입 288
10.2 배열 변수 288
10.3 배열 생성 289
10.4 배열 접근 289
10.5 배열의 간단한 예 290
10.6 배열 초기자 290
10.7 배열 멤버 292
10.8 배열의 Class 객체 293
10.9 문자의 배열은 String이 아니다 294
10.10 배열 저장 예외 294

11장 예외 297
11.1 예외의 원인 298
11.2 컴파일 시 예외 검사 298
11.2.1 표현식의 예외 분석 299
11.2.2 문장의 예외 분석 299
11.2.3 예외 검사 300
11.2.4 에러를 검사하지 않는 이유 301
11.2.5 런타임 예외를 검사하지 않는 이유 301
11.3 예외 처리 301
11.3.1 예외의 정확성 302
11.3.2 비동기 예외 처리 303
11.4 예제 304
11.5 예외 계층 306
11.5.1 로드와 링크 에러 306
11.5.2 가상머신 에러 307

12장 실행 309
12.1 가상머신 기동 309
12.1.1 Test 클래스 로드 310
12.1.2 Test 클래스 링크: 검증, 준비, 분석 310
12.1.3 Test 클래스 초기화: 초기자 실행 311
12.1.4 Test.main 호출 312
12.2 클래스와 인터페이스 로딩 312
12.2.1 로딩 절차 313
12.3 클래스와 인터페이스 링크 314
12.3.1 바이너리 표현 검증 314
12.3.2 클래스나 인터페이스 타입 준비 315
12.3.3 기호 참조 분석 315
12.4 클래스와 인터페이스 초기화 316
12.4.1 초기화 실행 시 316
12.4.2 구체적인 초기화 절차 319
12.4.3 초기화: 코드 생성의 결과 321
12.5 클래스의 인스턴스 신규 생성 321
12.6 클래스 인스턴스 종료 325
12.6.1 종료 구현 326
12.6.1.1 메모리 모델과의 상호작용 328
12.6.2 비순차적 소멸자 호출 329
12.7 클래스와 인터페이스 언로딩 330
12.8 프로그램 종료 331

13장 바이너리 호환성 333
13.1 바이너리 형태 334
13.2 바이너리 호환성과 비호환성 337
13.3 패키지 변경 338
13.4 클래스 변경 339
13.4.1 추상 클래스 339
13.4.2 final 클래스 339
13.4.3 public 클래스 339
13.4.4 상위클래스와 상위인터페이스 339
13.4.5 클래스 형식 타입 매개변수 341
13.4.6 클래스 바디와 멤버 선언 341
13.4.7 멤버와 생성자로의 접근 343
13.4.8 필드 선언 344
13.4.9 final 필드와 생성자 346
13.4.10 정적 필드 349
13.4.11 transient 필드 349
13.4.12 메소드와 생성자 선언 349
13.4.13 메소드와 생성자의 형식 타입 매개변수 350
13.4.14 메소드와 생성자의 매개변수 351
13.4.15 메소드 리턴 타입 351
13.4.16 추상 메소드 351
13.4.17 final 메소드 352
13.4.18 native 메소드 353
13.4.19 정적 메소드 353
13.4.20 synchronized 메소드 353
13.4.21 메소드와 생성자의 throws 절 353
13.4.22 메소드와 생성자 바디 353
13.4.23 메소드와 생성자 오버로딩 354
13.4.24 메소드 오버로딩 355
13.4.25 정적 초기자 355
13.4.26 열거형의 변경 355
13.5 인터페이스의 변경 356
13.5.1 public 인터페이스 356
13.5.2 상위인터페이스 356
13.5.3 인터페이스 멤버 356
13.5.4 인터페이스 형식 타입 매개변수 357
13.5.5 필드 선언 357
13.5.6 추상 메소드 선언 357
13.5.7 어노테이션 타입의 변경 358

14장 블록과 문장 359
14.1 문장의 정상 및 비정상 종료 360
14.2 블록 361
14.3 지역 클래스 선언 361
14.4 지역변수 선언문 363
14.4.1 지역변수 선언자와 타입 364
14.4.2 지역변수 선언 유효범위 365
14.4.3 지역변수에 의한 이름 감춤 367
14.4.4 지역변수 선언의 실행 368
14.5 문장 368
14.6 빈 문장 370
14.7 라벨 있는 문장 371
14.8 표현문 372
14.9 if 문 373
14.9.1 if-then 문 373
14.9.2 if-then-else 문 374
14.10 assert 문 374
14.11 switch 문 378
14.12 while 문 382
14.12.1 비정상 종료 383
14.13 do 문 383
14.13.1 비정상 종료 384
14.13.2 예제 384
14.14 for 문 385
14.14.1 기본 for 문 385
14.14.1.1 for 문의 초기화 386
14.14.1.2 for 문의 반복 386
14.14.1.3 for 문의 비정상 종료 387
14.14.2 향상된 for 문 388
14.15 break 문 390
14.16 continue 문 392
14.17 return 문 393
14.18 throw 문 394
14.19 synchronized 문 396
14.20 try 문 397
14.20.1 try-catch 실행 400
14.20.2 try-catch-finally 실행 401
14.21 도달 불가능한 문장 403

15장 표현식 409
15.1 평가, 지시, 결과 409
15.2 값으로서의 변수 410
15.3 표현식의 타입 410
15.4 FP-strict 표현식 410
15.5 표현식과 실행 시 검증 411
15.6 평가의 정상 종료 및 비정상 종료 412
15.7 평가 순서 414
15.7.1 왼쪽 피연산자 우선 평가 414
15.7.2 연산 전 피연산자 평가 416
15.7.3 괄호와 우선순위를 고려한 평가 417
15.7.4 인자 목록의 좌측 우선 평가 418
15.7.5 그 밖의 표현식에 대한 평가 순서 419
15.8 기본 표현식 419
15.8.1 어휘 리터럴 420
15.8.2 클래스 리터럴 420
15.8.3 this 421
15.8.4 한정 this 422
15.8.5 괄호 표현식 422
15.9 클래스 인스턴스 생성식 423
15.9.1 인스턴스화할 클래스의 결정 424
15.9.2 인클로징 인스턴스 결정 425
15.9.3 생성자와 인자 선택 427
15.9.4 클래스 인스턴스 생성식의 실행 시 평가 427
15.9.5 익명클래스 선언 428
15.9.5 익명 생성자 428
15.9.6 예제 : 평가 순서와 Out-of-Memory 검출 429
15.10 배열 생성식 430
15.10.1 배열 생성식의 실행 시 평가 432
15.10.2 예제 : 배열 생성 평가 순서 433
15.10.3 예제 : 배열 생성과 Out-of-Memory 찾기 434
15.1 필드 접근식 435
15.11.1 기본 표현식을 이용한 필드 접근 435
15.11.2 super를 이용한 상위클래스 멤버 접근 438
15.12 메소드 호출식 440
15.12.1 컴파일 시 단계 : 찾을 클래스나 인터페이스 결정 440
15.12.2 컴파일 시 단계 2: 메소드 서명 결정 442
15.12.2.1 잠재적 적용가능 메소드 식별 443
15.12.2.2 페이즈 1: 하위타입화을 통해 적용가능한
적합 arity 메소드 식별 445
15.12.2.3 페이즈 2: 메소드 호출 형변환을 통해
적용가능한 적합 arity 메소드 식별 446
15.12.2.4 페이즈 3: 적용가능한
가변길이 메소드 식별 446
15.12.2.5 최적 메소드 선택 447
15.12.2.6 메소드 리턴 타입과 throws 타입 450
15.12.2.7 실인자에 기초한 타입 인자 추론 451
15.12.2.8 분석되지 않은 타입 인자 추론 466
15.12.2.9 예제 466
15.12.2.10 모호한 오버로딩 예제 468
15.12.2.1 리턴 타입 무시 예제 468
15.12.2.12 컴파일 시 분석 예제 469
15.12.3 컴파일 단계 3: 적정 메소드 선택 확인 471
15.12.4 실행 시 메소드 호출 평가 473
15.12.4.1 (필요 시) 목표 참조 계산 473
15.12.4.2 인자 평가 474
15.12.4.3 타입과 메소드의 접근가능성 확인 475
15.12.4.4 호출 대상 메소드 위치 확정 476
15.12.4.5 프레임 생성, 동기화, 제어 이동 477
15.12.4.6 목표 참조와 정적 메소드 예제 479
15.12.4.7 평가 순서 예제 479
15.12.4.8 오버라이딩 예제 480
15.12.4.9 super를 이용한 메소드 호출 예제 482
15.13 배열 접근식 483
15.13.1 실행 시 배열 접근 평가 483
15.13.2 배열 접근 평가 순서 예제 484
15.14 후행 표현식 486
15.14.1 표현식명 486
15.14.2 후행 증가 연산자 ++ 486
15.14.3 후행 감소 연산자 -- 487
15.15 단항 연산자 488
15.15.1 선행 증가 연산자 ++ 488
15.15.2 선행 감소 연산자 -- 489
15.15.3 단항 덧셈 연산자 + 489
15.15.4 단항 뺄셈 연산자 - 490
15.15.5 비트 보수 연산자 ~ 490
15.15.6 논리 보수 연산자 ! 491
15.16 형변환 표현식 491
15.17 배수 연산자 492
15.17.1 곱셈 연산자 * 492
15.17.2 나눗셈 연산자 / 493
15.17.3 나머지 연산자 % 495
15.18 부가 연산자 496
15.18.1 문자열 연결 연산자 + 497
15.18.1.1 문자열 형변환 497
15.18.1.2 문자열 연결 최적화 498
15.18.1.3 문자열 연결 예제 498
15.18.2 숫자형의 부가 연산자(+와 -) 500
15.19 이동 연산자 501
15.20 관계 연산자 503
15.20.1 숫자 비교 연산자 <, <=, >, >= 503
15.20.2 타입 비교 연산자 instanceof 504
15.2 동등비교 연산자 505
15.21.1 숫자 동등비교 연산자 ==과 != 506
15.21.2 Boolean 동등비교 연산자 ==와 != 506
15.21.3 참조 동등비교 연산자 ==과 != 507
15.22 비트 연산자와 논리 연산자 507
15.22.1 정수형 비트 연산자 &, ^, | 508
15.22.2 Boolean 논리 연산자 &, ^, | 508
15.23 조건 And 연산자 && 508
15.24 조건 Or 연산자 || 509
15.25 조건 연산자 ? : 510
15.26 할당 연산자 512
15.26.1 단순 할당 연산자 = 513
15.26.2 복합 할당 연산자 519
15.27 표현식 525
15.28 상수 표현식 526

16장 명시적인 할당 527
16.1 명시적인 할당과 표현식 533
16.1.1 Boolean 상수식 533
16.1.2 Boolean 연산자 && 533
16.1.3 Boolean 연산자 || 534
16.1.4 Boolean 연산자 ! 534
16.1.5 Boolean 연산자 ?: 534
16.1.6 조건 연산자 ?: 535
16.1.7 boolean 형의 다른 표현식 535
16.1.8 할당 표현식 535
16.1.9 ++ 와 -- 연산자 536
16.1.10 나머지 표현식 536
16.2 명시적 할당과 문장 538
16.2.1 빈 문장 538
16.2.2 블록 538
16.2.3 지역 클래스 선언문 539
16.2.4 지역변수 선언문 540
16.2.5 라벨 있는 문장 540
16.2.6 표현문 540
16.2.7 if 문 541
16.2.8 assert 문 541
16.2.9 switch 문 542
16.2.10 while 문 542
16.2.11 do 문 543
16.2.12 for 문 543
16.2.12.1 초기화 부분 544
16.2.12.2 증가 부분 544
16.2.13 break, continue, return, throw 문 545
16.2.14 synchronized 문 545
16.2.15 try 문 545
16.3 명시적 할당과 매개변수 547
16.4 명시적 할당과 배열 초기자 547
16.5 명시적 할당과 열거형 상수 548
16.6 명시적 할당과 익명 클래스 548
16.7 명시적 할당과 멤버 타입 549
16.8 명시적 할당과 정적 초기자 549
16.9 명시적 할당과 생성자, 인스턴스 초기자 550

17장 스레드와 잠금 553
17.1 잠금(Locks) 554
17.2 예제 표기법 554
17.3 부적절하게 동기화된 프로그램의 동작 555
17.4 메모리 모델 557
17.4.1 공유 변수 558
17.4.2 액션 558
17.4.3 프로그램과 프로그램 순서 560
17.4.4 동기화 순서 561
17.4.5 선행(Happens-before) 순서 562
17.4.6 실행 567
17.4.7 올바르게 구성된(Well-formed) 실행 568
17.4.8 실행 및 인과관계 요구사항 568
17.4.9 식별 가능한 동작과 끝나지 않는 실행 571
17.5 Final 필드 의미론 573
17.5.1 Final 필드의 의미론 575
17.5.2 생성 중 Final 필드 읽기 576
17.5.3 Final 필드의 추후 수정 576
17.5.4 쓰기 방지(write-protected) 필드 578
17.6 워드 찢기(Word Tearing) 578
17.7 double과 long의 비 원자적(Non-atomic) 처리 580
17.8 대기 집합과 통보(Notification) 580
17.8.1 대기 580
17.8.2 통보(Notification) 582
17.8.3 인터럽션(Interruption) 582
17.8.4 대기, 통보, 인터럽션의 상호작용 583
17.9 일시 정지(sleep)와 양보(yidld) 583

18장 문법 585
18.1 자바 프로그래밍 언어의 문법 585

저자소개

James Gosling (지은이)    정보 더보기
썬 사의 개발 생산성 그룹의 CTO이며 자바 프로그래밍 언어의 창시자이고 컴퓨터 산업의 가장 주목받는 프로그래머이다. 그는 1996년 "Programming Excellence Award"의 수상자이다. 그는 과거 카네기 멜론 대학에서 Andrew 프로젝트를 수행했고 이를 통해 박사학위를 받았으며, 썬의 네트워크 확장 윈도 시스템인 NeWS를 개발했다.
펼치기
Bill Joy (지은이)    정보 더보기
Sun Microsystems의 공동 설립자이며, 하드웨어와 소프트웨어의 아키텍트로 일하면서 2003년 9월까지 회사의 기술 전략을 이끌었다. 그는 UNIX®의 Berkeley 버전 창시자로 잘 알려져 있으며 이를 통해 1993년 USENIX로부터 lifetime achievement award를 수상했다. 또한 1986년에는 ACM Grace Murray Hopper Award를 수상했다. Joy는 자바 프로그래밍 언어를 구현하는 데 중요한 역할을 수행했다. 그는 2005년 1월에 KPCB의 파트너가 되었다.
펼치기
Guy L.Steele jr. (지은이)    정보 더보기
썬 마이크로시스템즈 연구소에 근무하는 동료이며, 언어 설계 및 구현, 병렬 알고리즘, 컴퓨터 수학 연구에 대한 책임을 맡고 있다. 그는 Scheme 프로그래밍 언어의 공동 창시자이며 저서로는 『C programming language』(Samuel Harbison 공저), 『Common Lisp programming language』가 있다. Steele는 1988년 ACM Grace Murray Hopper Award를 수상했으며, 1994년 ACM , 2001년에는 National Academy of Engineering, 2002년에는 American Academy of Arts and Science의 정식 회원이 되었다. 그는 또한 1996년 ACM SIGPLAN Programming Laguages Achievement Award를 수상했으며, 2005년에는 Dr.Dobb's Journal의 Excellence in Programming Award를 수상했다.
펼치기
Gilad Bracha (지은이)    정보 더보기
썬 마이크로시스템즈에서 컴퓨터 논리이론가로 근무하며 객체지향언어영역의 연구를 수행하고 있다. 썬에 근무하기 이전에 그는 Strongtalk,™ the Animorphic Smalltalk System에서 근무했다. 그는 이스라엘의 Ben Gurion 대학에서 수학과 컴퓨터 과학에 관한 학위를 받았으며, University of Utah에서 컴퓨터 과학 박사학위를 받았다.
펼치기
이상민 (지은이)    정보 더보기
삼성SDS에서 개발을 시작하여 NAVER, NHN 등의 회사에서 일했다. 《자바의 신》, 《자바 성능 튜닝 이야기》 등 다수의 IT 서적을 집필하였다. 지금은 국내 최고의 스마트 통합 주차 회사인 파킹 클라우드에서 개발 총괄 이사로 일하고 있다.
펼치기
이정룡 (옮긴이)    정보 더보기
연세대학교 화학공학과를 졸업하였고 현재 삼성 SDS 인트라넷 개발파트에서 기업내 엔터프라이즈 포탈 구축 및 운영을 담당하고 있다. 최근에는 애자일 방법론을 도입하여 포탈 기반의 워크플레이스를 개발 중에 있으며 주요 관심분야는 애자일 개념을 기반으로 하는 워크플로우 시스템과 분산 환경 기반의 고성능 캐시서버 구축이다. 『Java Specification 3rd Edition』(에이콘, 2007)을 번역했다.
펼치기
허진영 (옮긴이)    정보 더보기
펼치기
김형준 (지은이)    정보 더보기
J2EE 아키텍처와 도메인 모델 분야를 연구하면서 『J2EE 컴포넌트 만들기』, 『자바 파일럿 프로젝트 실무』 등을 집필하였으며 최근 4년 동안은 하둡이나 NoSQL 같은 분산 컴퓨팅, 클라우드 컴퓨팅 분야를 연구하며 실제 서비스에 적용하고 있다. 또한 구글의 데이터 관리 시스템인 Bigtable을 구현하고 있는 오픈 소스 프로젝트인 cloudata(www.cloudata.org) 프로젝트를 진행 중이다. SDS, NHN을 거쳐 지금은 클라우드 기반 검색 전문 업체인 그루터(gruter)에서 클라우드 컴퓨팅 컨설팅 업무를 수행하고 있다.
펼치기

추천도서

이 포스팅은 쿠팡 파트너스 활동의 일환으로,
이에 따른 일정액의 수수료를 제공받습니다.
도서 DB 제공 : 알라딘 서점(www.aladin.co.kr)
최근 본 책