HOME > 상세정보

상세정보

(The)Java language specification (7회 대출)

자료유형
단행본
개인저자
Gosling, James , 1955- Joy, Billy Steele, Guy Bracha, Gilad 허진영 , 역 최선재 , 역 이상민 , 역 이정룡 , 역
서명 / 저자사항
(The)Java language specification / James Gosling [외] 지음 ; 허진영 [외] 옮김.
발행사항
의왕 :   에이콘 ,   2007.  
형태사항
xvii, 667 p. ; 26 cm.
ISBN
9788960770072
일반주기
색인수록  
공저자: Billy Joy, Guy Steele, Gilad Bracha  
공역자: 최선재, 이상민, 이정룡  
감수자: 김형준  
원서의 총서명: Java series  
원서의 3판을 번역함.  
일반주제명
Java (Computer program language)
000 01126namccc200385 k 4500
001 000045413461
005 20100806025437
007 ta
008 080108s2007 ggk 001a kor
020 ▼a 9788960770072
040 ▼a 211009 ▼c 211009 ▼d 211009
041 1 ▼a kor ▼h eng
082 0 4 ▼a 005.13/3 ▼2 22
090 ▼a 005.133 ▼b J41 2007r3
245 2 0 ▼a (The)Java language specification / ▼d James Gosling [외] 지음 ; ▼e 허진영 [외] 옮김.
260 ▼a 의왕 : ▼b 에이콘 , ▼c 2007.
300 ▼a xvii, 667 p. ; ▼c 26 cm.
500 ▼a 색인수록
500 ▼a 공저자: Billy Joy, Guy Steele, Gilad Bracha
500 ▼a 공역자: 최선재, 이상민, 이정룡
500 ▼a 감수자: 김형준
500 ▼a 원서의 총서명: Java series
500 ▼a 원서의 3판을 번역함.
650 0 ▼a Java (Computer program language)
700 1 ▼a Gosling, James , ▼d 1955- ▼0 AUTH(211009)142888
700 1 ▼a Joy, Billy
700 1 ▼a Steele, Guy
700 1 ▼a Bracha, Gilad ▼0 AUTH(211009)38298
700 1 ▼a 허진영 , ▼e
700 1 ▼a 최선재 , ▼e
700 1 ▼a 이상민 , ▼e▼0 AUTH(211009)100742
700 1 ▼a 이정룡 , ▼e
945 ▼a KINS
949 ▼a Java series

No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 중앙도서관/제2자료실(3층)/ 청구기호 005.133 J41 2007r3 등록번호 111458512 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 2 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 005.133 J41 2007r3 등록번호 121163472 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 중앙도서관/제2자료실(3층)/ 청구기호 005.133 J41 2007r3 등록번호 111458512 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 005.133 J41 2007r3 등록번호 121163472 도서상태 대출가능 반납예정일 예약 서비스 B M

컨텐츠정보

책소개

자바 언어를 만든 사람들이 직접 쓴 자바 프로그래밍 언어의 기술 참고서적의 결정판. 언어 구조에 대한 정확한 의미를 알고자 하는 독자에게 유용한 지침을 제공한다.

자바 프로그래밍 언어에 대한 정확하고 상세한 설명을 제공한다. 2판 이후 새롭게 추가된 기능인 제네릭, 어노테이션, 단언문, 박싱/언박싱, 열거형, for-each 구문, 가변 길이 매개변수를 포함하는 메소드, 정적 임포트 등에 대한 완벽한 설명을 제공한다.

자바 프로그래밍 언어는 범용적이고 병렬 수행이 가능한 클래스 기반의 객체지향 언어로, 많은 프로그래머들이 언어를 능숙하게 다룰 수 있도록 매우 단순하게 설계되었다. 자바 프로그래밍 언어는 C나 C++와 관련이 있지만 다소 다르게 체계화되었다. C와 C++의 일부 요소는 제외되었고, 다른 언어의 사상도 일부 포함되었다. 자바는 연구용 언어가 아니고 상용 언어이다. 호어(C. A. R. Hoare)가 발표한 언어 설계에 대한 논문을 토대로 최신 기술이나 검증되지 않은 부분은 배제했다.

자바 프로그래밍 언어는 타입에 대한 규칙이 엄격하다. 따라서 컴파일 시 에러(컴파일할 때 확인할 수 있으며 반드시 검증해야 하는 에러)와 실행 시 발생하는 에러를 확실히 구분한다. 컴파일은 프로그램을 CPU와 같은 하드웨어 아키텍처에 독립적인 바이트 코드 형태로 번역하는 작업을 의미한다. 실행은 프로그램을 수행하기 위해서 필요한 클래스를 로딩하고 링크하며, 선택적으로 기계어를 생성하고 동적으로 프로그램을 최적화하고, 프로그램을 수행하는 작업을 의미한다.

자바 프로그래밍 언어는 기계 표현의 세부 내용이 드러나지 않는 고급 언어이다. 명시적인 메모리 해제(C의 free나 C++의 delete와 같은) 작업 시 일어날 수 있는 문제를 피하기 위해서 가비지 콜렉터(GC, Garbage Collector)라는 자동 메모리 관리 기능을 사용한다. 실행 시 멈추는 현상을 최소화 하도록 고성능 가비지 콜렉터를 구현하여 시스템 프로그래밍과 실시간 응용 프로그램을 지원할 수 있다. 자바는 프로그램이 지정되지 않은 방식으로 수행되는 것을 방지하는 구조이다. 예를 들면 인덱스 점검을 하지 않고 배열에 접근하는 작업은 불가능하다.

자바 프로그래밍 언어는 일반적으로 바이트 코드 명령어 집합과 바이너리 형식으로 컴파일 된다. 이에 대한 내용은 『The Java™ Virtual Machine Specification, Second Edition』 (Addison-Wesley, 1999)에 잘 정리되어 있다.

이 책의 구성

2장에서는 자바의 어휘 및 구문 문법을 표현하기 위한 표기법(notation)에 대해서 설명한다.
3장에서는 C와 C++에 기반을 둔 자바 언어의 어휘 구조에 대해서 설명한다.
4장에서는 타입, 값, 변수에 대해서 설명한다.
5장에서는 형변환 및 수치 확장에 대해서 설명한다.
6장에서는 선언과 명명규칙, 의미 있는 이름을 정하는 방법에 대해서 설명한다.
7장에서는 패키지로 구성되는 프로그램의 구조에 대해 설명한다.
8장에서는 클래스에 대해서 알아본다.
9장에서는 인터페이스 타입에 대해서 알아본다.
10장에서는 배열에 대해 설명한다.
11장에서는 예외에 대해서 다룬다.
12장에서는 프로그램 수행 시 일어나는 동작에 대해서 알아본다.
13장에서는 바이너리 호환성에 대해서 알아본다.
14장에는 C와 C++에 기반을 둔 블록과 문장에 대해서 알아본다.
15장에서는 표현식에 대해 알아본다.
16장에서는 자바 언어에서 지역변수가 사용되기 전에 초기화 되어야 하는 것을 보장하는 방법에 대해서 자세히 다룬다.
17장에서는 Mesa라는 모니터 기반 병행처리 프로그래밍 언어에 기초한 스레드(thread)와 잠금(lock)에 대해서 알아본다.
18장에서는 구문 문법을 정리한다.


정보제공 : Aladin

저자소개

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)에서 클라우드 컴퓨팅 컨설팅 업무를 수행하고 있다.

정보제공 : Aladin

목차

목차
서문 = ⅴ
2판 서문 = ⅷ
3판 서문 = ⅹ
저자 소개 = xiii
옮긴이의 말 = xiv
옮긴이 소개 = xvi
감수자 소개 = xvii
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.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.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.4 패키지_또는_타입명의 의미 = 131
  6.5.5 타입명의 의미 = 132
  6.5.6 표현식명의 의미 = 134
  6.5.7 메소드명의 의미 = 137
 6.6 접근 제어 = 138
  6.6.1 접근 가능성 결정 = 138
  6.6.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.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.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.3 필드 선언 = 195
  8.3.1 필드 제한자 = 197
  8.3.2 필드 초기화 = 200
  8.3.3 필드 선언의 예 = 205
 8.4 메소드 선언 = 210
  8.4.1 형식 매개변수 = 211
  8.4.2 메소드 서명 = 213
  8.4.3 메소드 제한자 = 214
  8.4.4 제네릭 메소드 = 220
  8.4.5 메소드 리턴 타입 = 221
  8.4.6 메소드 throws 절 = 222
  8.4.7 메소드 바디 = 224
  8.4.8 상속, 오버라이딩, 숨기기 = 224
  8.4.9 오버로딩 = 230
  8.5.10 메소드 선언의 예 = 230
 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.8 생성자 오버로딩 = 247
  8.8.9 디폴트 생성자 = 247
  8.8.10 클래스의 인스턴스화 막기 = 248
 8.9 열거형 = 249
9장 인터페이스 = 259
 9.1 인터페이스 선언 = 260
  9.1.1 인터페이스 제한자 = 260
  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.4 추상 메소드 선언 = 267
  9.4.1 상속과 오버라이딩 = 268
  9.4.2 오버로딩 = 269
  9.4.3 추상 메소드 선언의 예 = 269
 9.5 멤버 타입 선언 = 270
 9.6 어노테이션 타입 = 271
  9.6.1 미리 정의된 어노테이션 타입 = 278
 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.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.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.6 예제 : 평가 순서와 Out-of-Memory 검출 = 429
 15.10 배열 생성식 = 430
  15.10.1 배열 생성식의 실행 시 평가 = 432
  15.10.2 예제 : 배열 생성 평가 순서 = 433
  15.10.3 예제 : 배열 생성과 Out-of-Memory 찾기 = 434
 15.11 필드 접근식 = 435
  15.11.1 기본 표현식을 이용한 필드 접근 = 435
  15.11.2 super를 이용한 상위클래스 멤버 접근 = 438
 15.12 메소드 호출식 = 440
  15.12.1 컴파일 시 단계 : 찾을 클래스나 인터페이스 결정 = 440
  15.12.2 컴파일 시 단계 2: 메소드 서명 결정 = 442
  15.12.3 컴파일 단계 3: 적정 메소드 선택 확인 = 471
  15.12.4 실행 시 메소드 호출 평가 = 473
 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.2 숫자형의 부가 연산자(+와 -) = 500
 15.19 이동 연산자 = 501
 15.20 관계 연산자 = 503
  15.20.1 숫자 비교 연산자 <, <=, >, >= = 503
  15.20.2 타입 비교 연산자 instanceof = 504
 15.21 동등비교 연산자 = 505
  15.21.1 숫자 동등비교 연산자 ==과 != = 506
  15.21.2 Boolean 동등비교 연산자 ==와 != = 506
  15.22.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.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
찾아보기 = 597
옮긴이 주 = 653

관련분야 신착자료

한국. 행정안전부 (2022)
Anson, Steve (2022)
한국. 행정안전부 (2022)
황기태 (2021)
Zumstein, Felix (2022)