| 000 | 00000nam c2200205 c 4500 | |
| 001 | 000000765200 | |
| 005 | 20170803161637 | |
| 007 | ta | |
| 008 | 020422s2002 ulka 001c kor | |
| 020 | ▼a 8931419902 ▼g 13000 | |
| 040 | ▼a 211009 ▼c 211009 ▼d 211009 | |
| 049 | 1 | ▼l 111212853 ▼f 개가 ▼i 121060910 ▼f 과학 ▼i 121060911 ▼f 과학 |
| 082 | 0 4 | ▼a 005.133 ▼2 21 |
| 085 | ▼a 005.133 ▼2 DDCK | |
| 090 | ▼a 005.133 ▼b 2002n | |
| 245 | 1 0 | ▼a Java language bible / ▼d 이현우, ▼e 김형국, ▼e 김명호 공저 |
| 260 | ▼a 서울 : ▼b 영진.com, ▼c 2002 | |
| 300 | ▼a 929 p. : ▼b 삽화 ; ▼c 26 cm + ▼e 전자 광디스크 (CD-ROM) 1매 | |
| 500 | ▼a 색인수록 | |
| 700 | 1 | ▼a 김형국, ▼e 저 |
| 700 | 1 | ▼a 김명호, ▼e 저 |
소장정보
| No. | 소장처 | 청구기호 | 등록번호 | 도서상태 | 반납예정일 | 예약 | 서비스 |
|---|---|---|---|---|---|---|---|
| No. 1 | 소장처 과학도서관/보존서고5(동양서)/ | 청구기호 005.133 2002n | 등록번호 121060910 (20회 대출) | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
| No. 2 | 소장처 과학도서관/보존서고5(동양서)/ | 청구기호 005.133 2002n | 등록번호 121060911 (20회 대출) | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
| No. 3 | 소장처 학술정보관(CDL)/B1 국제기구자료실(보존서고)/ | 청구기호 005.133 2002n | 등록번호 111212853 (5회 대출) | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
| No. 4 | 소장처 세종학술정보원/과학기술실(5층)/ | 청구기호 005.133 2002n | 등록번호 151123940 (10회 대출) | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
| No. | 소장처 | 청구기호 | 등록번호 | 도서상태 | 반납예정일 | 예약 | 서비스 |
|---|---|---|---|---|---|---|---|
| No. 1 | 소장처 과학도서관/보존서고5(동양서)/ | 청구기호 005.133 2002n | 등록번호 121060910 (20회 대출) | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
| No. 2 | 소장처 과학도서관/보존서고5(동양서)/ | 청구기호 005.133 2002n | 등록번호 121060911 (20회 대출) | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
| No. | 소장처 | 청구기호 | 등록번호 | 도서상태 | 반납예정일 | 예약 | 서비스 |
|---|---|---|---|---|---|---|---|
| No. 1 | 소장처 학술정보관(CDL)/B1 국제기구자료실(보존서고)/ | 청구기호 005.133 2002n | 등록번호 111212853 (5회 대출) | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
| No. | 소장처 | 청구기호 | 등록번호 | 도서상태 | 반납예정일 | 예약 | 서비스 |
|---|---|---|---|---|---|---|---|
| No. 1 | 소장처 세종학술정보원/과학기술실(5층)/ | 청구기호 005.133 2002n | 등록번호 151123940 (10회 대출) | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
컨텐츠정보
줄거리
Part I. 자바 프로그래밍 개요
자바 언어와 자바 플랫폼에 대한 기본적인 내용을 알아본다. 자바 플랫폼의 구성, 컴파일 방법 등 프로그램을 작성하기 전에 알아야 할 사항을 살펴본 후에 연산자와 명령문을 사용해서 알고리즘을 구현하는 방법을 배우게 된다. 마지막 장에는 다양한 알고리즘을 통해서 배운 내용을 응용할 수 있도록 하였다.
Part II. 객체 지향 프로그래밍
자바 언어의 객체지향적 특징과 함께 자바 프로그래머가 기본적으로 숙지해야 할 객체지향 프로그래밍의 많은 기본적인 개념을 설명하고 있다. 화용론적 관점에서 상속과 다형성에 대해 상세히 설명하고 있으며 일반 서적에서는 잘 다루지 않는 서브클래스와 서브타입의 고급 개념까지도 자세히 설명하고 있다.
Part III. 기본 API
자바 언어와 가장 관련이 있는 기본 API에 대해서 알아본다. 내용은 언어와 시스템에서 시작해서 파일과 입출력, 유틸리티, 스레드, 직렬화, 컬렉션 프레임워크에 걸쳐있다. 이들 API는 자바 프로그래밍을 하면서 가장 빈번하게 사용하는 것들이므로 자세하게 설명되어 있다. 마지막 장에는 자료구조와 알고리즘을 중심으로 이들 API를 응용해보는 프로그램들을 작성해본다.
Part IV. 고급 프로그래밍
자바 언어의 고급 기능들에 대해서 배워본다. 코딩 관례와 문서화 주석, 국제화, 디버깅과 최적화, 자바 바이트코드 프로그래밍이 포함되어 있다. 이들은 자주 사용되지는 않지만 실제 프로젝트를 진행하면서 필요하게 되는 경우가 많다. 취미로 자바 프로그래밍을 하지 않을 것이라면 신경 써서 보아두자.
Part V. 설계와 구현
프로젝트를 설계하고 구현하는데 필요한 기법들을 배워본다. UML은 다양한 다이어그램을 통해서 프로그램을 보다 체계적으로 정의하고 알기 쉽게 보여주는데 사용된다. 패턴은 몇 가지 유형의 프로그램을 설계할 때 적용할 수 있는 모범 답안과도 같은 것이다. 중요한 패턴을 기억해두면 안정성 있는 프로그램을 빨리 개발할 수 있게 된다.
정보제공 :
책소개
언어 부분에 대해서는 문법적인 것뿐만이 아닌 객체 지향 전반에 대한 많은 이론이 다루어진다. 기본 API는 자바 2 플랫폼의 API를 보다 자세히 살펴보며 실제 응용 프로그램에서 어떻게 활용될 수 있는지 다양한 예제를 통해서 보여준다.
고급 프로그래밍에서는 디버깅, 최적화와 같은 다양한 기법이 설명된다. 마지막 프로그램 설계와 구현에서는 UML과 객체 지향 설계, 프로젝트 진행 등 프로그래머들이 프로젝트를 설계하고 진행하는데 필요한 부분들에 대해서 알아본다.
기존의 자바 관련 서적들은 자바 언어에 대한 책이라기 보다는 JDK 관련 서적이라고 할 수 있다. 본 도서는 자바라는 언어 자체에 대하여 다루고 있어, 자바 언어와 API에 대하여 체계적으로 학습할 수 있다.
정보제공 :
저자소개
김형국(지은이)
동아대학교 컴퓨터공학과를 졸업하였으며, 동아대학교 컴퓨터공학과 대학원에서 석사학위를 받았다. 국산 자바 개발환경, 블루엣(Bluette) 개발하였다. (주)블루엣 인터내셔널 대표 및 연구소장을 지냈으며, 2001년 현재 (주)센트럴에스티 기술이사로 있다. 지은 책으로는 <Java Programming Bible ver.2>, <블루엣으로 시작하는 자바 프로그래밍>등이 있다.
이현우(지은이)
포항공과대학교 물리학과를 졸업하였다. 제이씨현 시스템 인터넷 사업본부 엘림넷 자바팀, IEXE 개발팀에서 근무하였으며, 3R 게임스 모바일팀장이다. 93년부터 월간 마이크로소프트, 프로그램세계에 C/C++, Java에 관한 다수의 기사를 연재한 경력이 있다. 지은책으로는 <Java Programming Bible Ver. 2>, <Java Language Bible>등이 있다.
김명호(지은이)
경북대학교 컴퓨터공학과를 졸업하였으며 한국과학기술원 전산학과에서 석사학위와 박사학위를 받았다. 2007년 현재 (주)비트웹 기술이사로 있다. 지은 책으로 <Mobile Java Programming>이 있다.
목차
목차 Part Ⅰ 자바 프로그래밍 개요 chapter 01 자바 개요 = 25 01 자바 개요 = 25 개요 = 25 자바의 정의 = 30 넓은 의미의 자바 = 32 자바 플랫폼 = 33 자바 프로그램 = 34 자바 언어 = 35 02 자바 플랫폼 소개 = 35 역할 = 35 Java 2 플랫폼들 = 39 03 마치면서 = 39 chapter 02 자바 프로그래밍 개요 = 43 01 자바 언어의 특성 = 43 02 플랫폼과 관련된 자바 언어의 특성 = 45 03 자바 프로그램의 구성 요소 = 47 패키지 = 47 자바 클래스 = 48 J2SE 기본 API(core APIs) = 49 04 프로그래밍 준비 = 50 05 애플리케이션의 컴파일과 실행 = 51 06 프로그래밍에 익숙해지기 = 53 프로그램의 기본틀 = 54 주석 = 54 공백과 줄바꿈 = 56 소스 코드 가독성 높이기 = 57 프로그래밍 기초 정리 = 58 07 자바 언어의 구성 요소 = 58 chapter 03 데이터 형과 변수 = 63 01 데이터 형 = 63 02 자바의 데이터 형 = 66 03 기본형 = 68 정수형 = 69 정수형의 표현 = 70 문자형 = 72 실수형 = 73 논리형 = 75 04 배열(Array) = 76 05 문자열(String) = 77 06 클래스(Class)와 인터페이스(Interface) = 77 07 상수와 변수 = 78 08 리터럴(Literals) 상수 = 79 기본형 리터럴 = 79 Null 리터럴 = 80 문자열 리터럴 = 80 09 변수 선언하기 = 81 10 변수 이름 관례 = 82 11 변수 이름 규칙 = 83 chapter 04 연산식과 연산자 = 87 01 연산식과 연산자 = 87 02 산술 연산자(Arithmetic Operators) = 90 뎃셈 종류 연산자 = 91 곱셈 종류 연산자 = 92 단항 부호 연산자 = 94 단항 증감 연산자 = 94 byte, short 형의 연산 = 97 03 관계 연산자 = 98 04 논리 연산자 = 100 05 비트 연산자 = 105 비트 단위 논리 연산자 = 106 비트 단위 부정 연산자 = 110 비트 단위 이동 연산자 = 111 06 대입 연산자 = 113 07 기본형의 형변환 = 115 묵시적인 형변환과 광역화 형변환 = 115 명시적인 형변환과 협소화 형변환 = 116 기본형의 표현 범위 = 118 chapter 05 연산자의 활용 = 123 01 연산식의 조합과 연산 순서 = 123 02 연산 순서 = 125 03 연산자의 우선 순위 = 127 연산자의 결합 방향(Associativity) = 130 04 연산식에서의 형변환 = 131 05 상수 연산식(Constant Expression) = 134 chapter 06 명령문 = 141 01 명령문 = 141 02 연산문 = 142 03 블록 = 143 04 레이블이 붙은 명령문 = 144 05 제어문 = 145 06 if 문 = 147 switch 문 = 150 while 문 = 154 do ~ while 문 = 155 for 문 = 156 break = 160 continue 문 = 164 무한 루프 = 166 07 지역 변수와 레이블의 유효 범위(Scope) = 167 08 명령문에 관련된 컴파일 에러들 = 169 chapter 07 배열과 문자열 = 173 01 문자열 = 173 문자열 생성과 초기화 = 173 문자열 + 연산자 = 174 문자열의 표준 출력 = 177 02 배열 = 178 개요 = 178 배열형 변수 정의 = 180 배열 초기화 = 182 배열 생성문 = 183 배열의 원소 제어 = 185 배열 익숙해지기 = 187 배열형의 형변환 = 189 배열과 메모리 = 190 chapter 08 알고리즘 기초 = 195 01 개요 = 195 02 수열(Series) 구하기 = 196 03 7카드에서 족보 판별하기 = 198 04 반복법 = 200 05 시행 착오 알고리즘 = 203 개요 = 203 8개의 여왕 문제 = 204 프로그램 = 207 알고리즘 고찰 = 208 06 재귀적 알고리즘 = 209 메소드 = 210 수열 값 구하기 = 211 하노이 타워 = 213 재귀적 알고리즘의 문제 = 216 07 정렬 = 217 선택 정렬 = 217 퀵 정렬 = 219 Part Ⅱ 객체 지향 프로그래밍 chapter 09 객체지향 프로그래밍과 자바 = 227 01 객체지향 프로그래밍 = 227 02 언어 이야기 = 229 03 뒷 이야기 = 231 chapter 10 객체지향 프로그래밍(OOP)의 기본 개념 = 235 01 객체지향 패러다임 = 235 객체, 메시지, 그리고 바인딩(binding) = 237 02 객체지향 프로그래밍의 핵심적인 요소들 = 237 객체(Object) = 238 클래스(Class) = 238 추상화(abstraction) = 239 캡슐화(encapsulation) = 240 상속(Inheritance) = 240 다형성(Polymorphism) = 241 chapter 11 클래스와 객체 = 245 01 필드와 메소드 = 246 02 클래스와 계층 구조 = 250 chapter 12 클래스 = 253 01 클래스의 개념 = 253 02 객체의 생성과 소멸 = 254 객체의 생성 = 254 객체의 사용 = 255 객체의 소멸 = 257 03 클래스의 작성 = 258 클래스의 선언 = 258 생성자(constructor) = 260 finalize 메소드 = 262 인스턴스 멤버와 클래스 멤버 = 262 멤버에 대한 접근 제어 = 266 04 정적 초기화 블록 = 268 05 중첩 클래스 = 269 중첩된 최상위 클래스 = 270 멤버 클래스 = 272 지역 클래스 = 275 익명 클래스 = 276 06 클래스의 확장 = 277 클래스 확장을 이용한 프로그래밍 = 278 트리구조의 클래스 계층 = 282 final 메소드와 클래스 = 285 확장과 생성자 = 287 상속과 접근 지정자 = 289 07 추상 클래스 = 290 chapter 13 인터페이스 = 295 01 인터페이스의 개념 = 295 02 인터페이스의 작성 = 298 인터페이스의 선언 = 298 인터페이스의 확장 = 299 03 인터페이스의 구현과 사용 = 301 인터페이스의 구현 = 301 인터페이스의 사용 = 303 04 인터페이스와 다중 상속 = 306 05 마커 인터페이스 = 309 06 인터페이스와 추상 클래스 = 309 chapter 14 상속(Inheritance) = 313 01 Object 클래스 = 315 02 자바와 다중 상속(multiple inheritance) = 317 03 '상속'을 사용하는이유 = 318 코드의 재사용성 = 319 안정성의 향상 = 319 일관된 인터페이스 = 319 소프트웨어 컴포넌트 = 320 생산성 = 320 다형성 = 320 정보은닉(Information Hiding) = 321 04 상속에 드는 비용 = 321 실행 속도 = 321 프로그램의 크기 = 322 프로그램 복잡도 = 322 chapter 15 다형성(Polymorphism) = 325 01 다형적 변수(Polymorphic variable) = 325 02 오버라이딩(Overriding) = 327 03 오버로딩(Overloading) = 328 04 Example : 샘플 패키지 라이브러리 = 331 chapter 16 다형성과 형 변환 = 339 01 광역화 참조 형 변환 = 341 02 협소화 참조 형 변환 = 342 chapter 17 RTTI(Run-Time Type Identification) = 347 01 RTTI의 개요 = 347 02 RTTI 구문 = 350 전통적인 캐스팅 = 350 instanceof 키워드를 이용한 RTTI = 351 Class 객체 = 352 chapter 18 패키지(Package) = 355 01 패키지의 멤버 = 356 패키지의 서브패키지(subpackage) = 356 데이터 형(클래스, 인터페이스) = 356 02 패키지의 선언 = 357 03 패키지 멤버의 참조 = 358 패키지 멤버의 정식 이름을 사용하는 방법 = 358 import 문을 사용하는 방법 = 359 04 패키지와 클래스패스(classpath) = 361 클래스패스(classpath) = 362 클래스패스와 패키지 그리고 클래스 = 363 05 Name space = 365 06 패키지의 이름 정하기 = 366 chapter 19 고급 객체지향 프로그래밍 = 369 01 상속 = 369 상속의 화용론적 문제점 = 369 소프트웨어 재사용 수단으로서의 상속 = 370 구현 상속 = 371 인터페이스 상속 = 372 조합(composition) = 372 상속과 조합의 비교 = 375 02 서브클래싱과 서브타이핑 = 380 서브클래스(subclass)와 서브타입(subtype) = 380 서브클래싱과 서브타이핑의 혼용에 따른 부작용 = 382 chapter 20 예외 처리(Exception handling) = 389 01 자바에서의 예외(Exception) = 389 02 예외의 발생 원인 = 392 03 예외를 발생(throw)시키기 = 392 묵시적으로 발생하는 예외 = 393 명시적으로 발생하는 예외 = 394 04 발생한 예외 처리하기 = 396 try = 397 catch = 397 finally = 399 05 사용자 정의 예외 클래스의 작성 = 402 06 생성자(constructor)와 예외 = 406 07 예외의 계층구조 = 408 Exception 클래스와 RuntimeException 클래스 = 408 Error 클래스 = 411 Part Ⅲ 기본 API chapter 21 언어와 System API = 419 01 개요 = 419 02 String과 StringBuffer = 420 String 객체 생성 = 420 String 클래스의 메소드 = 422 String 비교 = 423 문자열 검색 = 424 문자와 문자열 추출 = 426 문자열 변환 = 427 기본형을 문자열로 변환 = 427 뮤터블 vs 임뮤터블 = 428 StringBuffer 클래스 = 430 StringBuffer를 사용한 문자열 연산 = 431 StringBuffer vs 문자열 연산자 = 433 03 래퍼(Wrapper) 클래스들 = 435 Number 클래스 = 436 Byte, Short, Integer, Long = 437 Float와 Double = 438 기본형, 래퍼, String 간의 형변환 = 440 04 시스템 관련 = 441 System 클래스 = 441 Runtime = 446 05 Math 클래스 = 449 chapter 22 파일과 입출력 = 455 01 java.io 패키지 = 455 File = 457 예제 : 루트 파일 시스템 보기 = 460 예제 : JavaDir = 461 RandomAccessFile = 463 03 스트림 개요 = 466 04 스트림의 특성 = 468 FIFO = 468 순차 접근 = 468 단방향 = 469 연결 유지 = 469 지연 = 469 05 스트림의 분류 = 469 06 바이트 입력 스트림 = 472 바이트 입력 스트림의 생성과 사용 = 473 BufferedInputstream = 474 07 바이트 출력 스트림 = 477 바이트 출력 스트림의 생성과 사용 = 478 BufferedOutputStream = 480 PrintStream = 480 08 캐릭터 입력 스트림 = 482 LineNumberReader = 484 09 캐릭터 출력 스트림 = 485 PrintWriter = 486 10 바이트 스트림을 캐릭터 스트림으로 변환 = 488 11 스트림 감싸기 테크닉 = 489 12 StreamTokenizer = 491 chapter 23 유틸리티 API = 497 01 개요 = 497 02 부가 데이터 형들 = 498 Arrays 클래스 = 499 해시 테이블(Hashtable) = 505 Vector = 509 스택 = 513 03 시간 관련 클래스들 = 515 Date 클래스 = 515 캘린더(Calendar) = 516 04 기타 클래스들 = 519 StringTokenizer = 519 난수(Random) = 522 chapter 24 프로세스와 스레드 = 527 01 개요 = 527 멀티 태스팅 = 529 멀티 태스팅의 효과 = 530 자바와 스레드 = 533 02 스레드 만들기 = 534 03 스레드 익숙해지기 = 538 04 사용자 스스레드와 데몬 스레드 = 540 05 스레드의 실행 주기 = 541 생성 / 시작 가능 상태(Startable) = 542 실행 가능 상태(Runnable) = 542 실행 중단 상태(Not Runnable) = 543 소멸 상태(Dead) = 544 06 Thread 클래스 = 544 07 스레드 제어 = 546 스레드 스케줄링 = 548 예제 : 스레드 종료시키기 = 549 예제 : 스레드 체인 = 551 예제 : 행렬 연산 = 554 08 스레드 그룹 = 556 09 Timer와 TimerTask = 558 10 프로세스 = 561 프로세스 생성 = 561 프로세스의 종료 = 563 Process 클래스 = 564 chapter 25 멀티 스레드 프로그래밍 = 569 01 멀티 스레딩 분석 = 569 다중 작업의 효율성 점검 = 571 멀티 스레딩의 안정성 = 575 자원 관리 = 577 멀티 스레딩에서의 주의 사항들 = 578 02 동기화 개념 = 578 일반 개념 = 579 동기화에 사용되는 테크닉들 = 580 03 스레드의 동기화 = 584 개요 = 584 자원에 대한 권한 = 585 동기화된 메소드 = 586 동기화 블록 = 590 04 배타적 동기화 = 591 배타적 동기화 예제 = 592 05 상호 협조 동기화 = 594 생산자 소비자 예제 = 597 다중 소비자인 경우 동기화 = 600 06 교착과 기아 = 604 07 재진입과 스레드 안전 = 608 재진입 가능 메소드 = 608 스레드 안전 = 609 chapter 26 직렬화 = 613 01 직렬화 개요 = 613 02 직렬화 익숙해지기 = 615 03 객체 스트림 = 618 객체 출력 스트림 = 618 객체 입력 스트림 = 620 복잡한 객체 저장하기 = 621 04 직렬화 가능한 클래스 만들기 = 623 05 사용자 정의 직렬화 = 625 직렬화 금지 시키기 = 626 06 복원된 객체 검증 = 627 07 버전 관리 = 629 08 직렬화 전략 = 630 chapter 27 컬렉션 프레임워크 = 633 01 개요 = 633 역할 = 633 인터페이스의 개념 = 634 JCF 인터페이스들 = 636 구현 알고리즘들 = 636 JCF 구현 클래스들 = 640 02 Collection 인터페이스 = 642 Iterator = 644 03 Set = 645 Set 인터페이스 = 645 HashSet = 646 TreeSet = 648 Set 연산 = 651 04 List = 653 List 인터페이스 = 653 ListIterator = 655 ArrayList = 656 LinkedList = 656 List 연산 = 659 05 Map = 660 Map.Entry 인터페이스 = 662 HashMap = 662 TreeMap = 663 Map 연산 = 664 06 Collections 클래스 = 665 리스트 원소 제어 = 665 비교와 탐색 = 667 정렬 = 668 변환 = 669 상수 컬렉션 = 669 Singleton 만들기 = 669 임뮤터블 컬렉션 만들기 = 670 동기화 컬렉션 만들기 = 671 07 컬렉션 번환 = 675 08 JCF 요약 = 676 chapter 28 자료구조와 알고리즘 연습 = 679 01 개요 = 679 02 JCF 분석 = 680 ArrayList = 681 LinkedList = 692 03 하노이 타워 재고찰 = 696 04 샘플링 = 701 포커 게임에서의 샘플링 = 701 Dealer 클래스 = 703 Player 클래스 = 704 족보 확률 계산 = 706 족보 검사 = 709 메인 프로그램 = 712 05 시뮬레이션 = 715 Part Ⅳ 고급 프로그래밍 chapter 29 코딩 관례와 문서화 주석 = 727 01 자바 코딩 관례 = 727 파일 이름 관례 = 728 자바 소스 파일의 구조 = 729 들여쓰기 = 730 변수와 클래스의 선언 = 731 명령문 = 732 이름 붙이기 = 733 프로그래밍 관행 = 735 02 문서화 주석 = 736 HelloJavaDoc = 737 javadoc 유틸리티 = 739 문서화 주석의 형태와 위치 = 740 태그 = 741 chapter 30 국제화 = 745 01 개요 = 745 Hello18N = 747 02 Locale 클래스 = 749 03 ResourceBundle의 사용 = 751 Locale과 리소스 이름 = 751 ResourceBundle 클래스 = 753 자원 텍스트 파일 = 754 사용자 정의 자원 클래스 = 756 04 포매팅 = 758 개요 = 758 숫자와 통화 포매팅 = 759 사용자 정의 숫자 포매팅 = 761 시간과 날짜 포매팅 = 762 사용자 정의 날짜 포매팅 = 764 초이스 포매팅 = 766 메시지 포매팅 = 767 메시지 포맷과 ResourceBundle의 활용 = 770 복수형의 처리 = 772 chapter 31 디버깅 = 777 01 개요 = 777 02 버그의 종류 = 779 설계상의 오류 = 779 문법 오류 = 780 논리 오류 = 781 03 디버깅 포인트 = 782 반복문의 범위 = 782 기본형의 극한적인 사용 = 784 부작용 주의 = 784 04 디버깅 메시지 사용 = 785 05 디버깅 툴의 사용 = 787 06 버그 관리 = 788 07 버전 관리 시스템 = 788 chapter 32 최적화 = 791 01 개요 = 791 02 프로파일링 = 792 03 컴파일 = 793 04 버퍼링과 풀링 = 794 버퍼링 = 795 풀링 = 795 05 자원 관리 = 799 객체 사용 최적화 = 799 메모리 관리자 = 801 06 인터페이스 최적화 = 801 07 최적화 코딩 기법들 = 804 지역 변수 vs 멤버 변수 = 804 기본형 vs 배열 = 806 인라이닝 = 809 문자열 사용 최적화 = 810 배열 사용 최적화 = 810 chapter 33 자바 VM과 바이트코드 프로그래밍 = 813 01 개요 = 813 02 자바 VM의 구조 = 814 03 표시법 = 816 04 클래스 파일 구조 = 818 클래스 파일 검증 예제 = 820 05 자바 VM 바이트코드 = 822 자바 VM의 관례 = 823 바이트코드의 동작 = 824 store와 load 명령어들 = 825 산술 명령어들 = 828 형 변환 = 831 스택 제어 = 832 분기 명령 = 833 복합 분기 명령 = 837 배열 생성과 제어 = 840 인스턴스 생성과 제어 = 841 메소드 호출과 변환 = 842 06 바이트코드 프로그래밍 = 844 HelloByteCode = 845 더하기 제어 = 847 스택의 활용 = 848 chapter 34 단언(Assertion) = 851 01 단언 개요 = 851 02 J2SE 1.4에서의 단언 기능 = 853 단언 기능을 위한 컴파일러 옵션 = 853 단언 구문과 의미 = 854 단언 기능의 적용과 해제 = 855 프로그램에서의 단언 기능 설정 = 856 03 단언 기능의 활용 = 858 내부 불변식 = 858 불가능성의 표현 = 859 사전조건 / 사후조건 / 클래스 불변식 = 860 부수작용 존재 여부 검사 = 862 04 이전 버전 시스템을 위한 단언 기능 구현 = 863 Part Ⅴ 설계와 구현 chapter 35 UML = 869 01 개요 = 869 02 클래스 다이어그램 = 870 패키지 = 870 클래스 = 871 객체 = 872 노트 = 873 연관 = 873 상속 = 874 인터페이스와 구현 = 874 포함 관계 = 875 자바로 구현하기 = 876 03 협력 다이어그램 = 878 객체 = 878 행위자 = 878 협력 관계 = 879 04 시퀀스 다이어그램 = 880 객체 = 880 메시지 전달 = 881 시퀀스 다이어그램 예제 = 882 코딩 = 883 05 상태 다이어그램 = 884 기호들 = 884 상태 다이어그램 예 = 885 06 활동 다이어그램 = 886 chapter 36 설계 패턴 = 891 01 설계 패턴 개요 = 891 02 설계 패턴의 분류 = 892 03 객체 생성 관련 패턴 = 893 Abstract Factory = 893 Factory Method = 895 04 복합 객체 관련 패턴 = 896 Composite = 896 Interpreter = 897 Visitor = 898 요약 = 900 05 간접화 패턴 = 900 Adapter = 901 Decorator = 901 Proxy = 902 요약 = 903 06 변경 공지 패턴 = 903 Observer = 904 Mediator = 905 07 객체로서의 프로시저 = 905 Strategy = 906 Command = 908 요약 = 908 08 형과 구현 계층의 분리 = 908 Bridge = 909 09 성능 향상 = 910 Flyweight = 910 Singleton = 911 State = 912 부록 A. 각종 OS에서의 JDK 구하기 = 919 B. 윈도95 / 98에서의 JDK 설치 = 920 JDK 설치 = 920 환경 변수 설정 = 920 JDK 테스트하기 = 922 C. 윈도 NT / 2000에서의 환경변수 설정 = 923 D. JDK 툴 사용법 = 924 java = 924 javac = 926 E. 프로그래밍 에디터와 통합 개발환경 = 928 프로그래밍 에디터 = 928 IDE = 928 F. 자바 관련 툴들 = 928 디버거, 프로파일러, 기타 분석툴 = 928 자바 어셈블러 = 928 G. UML 툴들 = 929
