목차
역자 서문 ... 3
저자 서문 ... 6
CHAPTER 01 객체지향 개발
   1-1 객체의 개념 ... 32
   1-2 모듈과 객체 ... 43
CHAPTER 02 OBJECTIVE-C 프로그램
   2-1 객체와 메시지 ... 50
   2-2 클래스 정의 ... 55
   2-3 컴파일 ... 64
   2-4 프로그램 개발 방법 ... 68
CHAPTER 03 상속과 클래스
   3-1 상속의 개념 ... 78
   3-2 상속을 사용한 클래스 정의 ... 81
   3-3 상속을 사용한 프로그램 예제 ... 89
   3-4 상속과 메소드 호출 ... 94
   3-5 메소드를 정의할 때의 주의사항 ... 99
CHAPTER 04 객체 타입과 동적 결합
   4-1 동적 결합 ... 104
   4-2 클래스를 타입으로 사용하기 ... 109
   4-3 타입 선언을 활용한 개발 방식 ... 119
   4-4 인스턴스 변수의 정보 은닉 ... 127
   4-5 클래스 객체 ... 134
CHAPTER 05 레퍼런스 카운트를 이용한 메모리 관리 방식
   5-1 동적 메모리 관리 ... 146
   5-2 Objective-C의 동적인 객체 관리 ... 149
   5-3 인스턴스의 자동 해제 ... 156
   5-4 오너쉽 정책 ... 160
   5-5 분수 전자 계산기의 예 ... 170
CHAPTER 06 가비지 컬렉션
   6-1 가비지 컬렉션 ... 186
   6-2 가비지 컬렉션의 자세한 기능 ... 197
   6-3 메모리 관리 방식의 비교 ... 211
CHAPTER 7 NSObject 클래스와 런타임 시스템
   7-1 NSObject 클래스 ... 218
   7-2 메시지 송신의 구조 ... 223
   7-3 Objective-C와 Cocoa 환경 ... 242
   7-4 64비트 모델로 이행하기 ... 247
CHAPTER 08 주요 FOUNDATION 프레임워크 클래스
   8-1 객체의 변경 가능성 ... 258
   8-2 문자열 클래스 ... 262
   8-3 데이터 클래스 ... 275
   8-4 배열 클래스 ... 281
   8-5 사전 클래스 ... 297
   8-6 약한 참조를 사용하는 컬렉션 클래스 ... 304
   8-7 수에 대한 래퍼 클래스 ... 310
CHAPTER 09 카테고리
   9-1 카테고리 선언과 정의 ... 316
   9-2 기존 클래스에 카테고리 추가 ... 326
CHAPTER 10 추상 클래스와 클래스 클러스터
   10-1 추상 클래스 ... 334
   10-2 클래스 클러스터 ... 344
   10-3 클래스 클러스터의 서브 클래스를 만드는 방법 ... 350
CHAPTER 11 프로토콜
   11-1 프로토콜 개념 ... 360
   11-2 Objective-C의 프로토콜 선언 ... 363
   11-3 비공식 프로토콜 ... 382
   11-4 고속 열거 프로토콜과 열거자 ... 386
CHAPTER 12 디클레어드 프로퍼티와 접근자
   12-1 프로퍼티란? ... 400
   12-2 디클레어드 프로퍼티 ... 403
   12-3 도트 연산자로 프로퍼티로에 접근하기 ... 415
CHAPTER 13 객체의 복사와 보존
   13-1 존 ... 424
   13-2 객체의 복사 ... 427
   13-3 아카이브 ... 435
   13-4 프로퍼티 리스트 ... 442
CHAPTER 14 메시지 송신 패턴
   14-1 델리게이트의 개념 ... 450
   14-2 노티피케이션 ... 454
   14-3 메시지 포워딩 ... 462
   14-4 리스폰더 체인 ... 470
   14-5 취소 기능 ... 474
   14-6 메소드의 동적 결합 ... 477
CHAPTER 15 애플리케이션 구조
   15-1 애플리케이션 래퍼 ... 484
   15-2 애플리케이션과 실행 루프 ... 490
   15-3 모듈의 동적 로딩 ... 495
   15-4 유저 디폴트 ... 499
   15-5 애플리케이션의 로컬라이즈 ... 507
CHAPTER 16 예제 : 간단한 이미지 뷰어
   16-1 Application 프레임워크와 Interface Builder ... 514
   16-2 프로젝트 ... 515
   16-3 예제 프로그램의 설명 ... 519
   16-4 애플리케이션 래퍼의 구조 ... 542
CHAPTER 17 예외와 에러
   17-1 예외란? ... 554
   17-2 예외 처리 ... 556
   17-3 예외 발생과 전파 ... 563
   17-4 어썰션 ... 572
   17-5 에러 처리 ... 575
   17-6 에러 리스폰더 체인 ... 582
CHAPTER 18 스레드
   18-1 멀티 스레드 프로그램 ... 590
   18-2 스레드 제어 클래스 NSThread ... 594
   18-3 상호 배제 ... 597
   18-4 예제 : 식사하는 철학자 문제 ... 604
CHAPTER 19 분산 객체
   19-1 커넥션을 사용한 통신 ... 616
   19-2 스레드 간의 커넥션 ... 626
   19-3 프로세스 간의 커넥션 ... 630
   19-4 예제: 스레드 간의 커넥션 샘플 ... 633
CHAPTER 20 키-밸류 코딩
   20-1 키-밸류 코딩 ... 656
   20-2 프로퍼티 접근 ... 660
   20-3 일대다 관계 접근 ... 672
   20-4 KVC 컴플라이언스 ... 679
   20-5 키-밸류 감시 ... 682
   20-6 Cocoa 바인딩 ... 694
Appendix
   A Foundation 프레임워크 ... 714
   B 코딩 지침 ... 733
찾아보기 ... 745
닫기