Top

자바 개발자를 위한 오브젝티브C

  • 원서명Learn Objective-C for Java Developers (ISBN 9781430223696)
  • 지은이제임스 뷰캐넥
  • 옮긴이이태상
  • ISBN : 9788960771727
  • 35,000원
  • 2010년 12월 31일 펴냄
  • 페이퍼백 | 792쪽 | 185*235mm
  • 시리즈 : 모바일 프로그래밍

책 소개

이 책은 자바 개발자들이 자바 개발 경험을 십분 활용해 맥 플랫폼의 기본 언어인 오브젝티브C와 코코아 프레임워크에 쉽게 적응하는 데 목적을 둔다. 또한 오브젝티브C의 모든 기본적인 내용뿐만 아니라 인트로스펙션, 네트워크, 멀티스레드, 메모리 관리 등 실전 개발에 필요한 각종 프로그래밍 기법과 고급 기능들을 설명하며, 각종 디자인 패턴을 적용하는 예를 통해 이미 알고 있는 설계 사상을 그대로 활용하는 방법을 알려준다. 아이폰, 아이패드, 맥 애플리케이션 개발을 꿈꾸는 모든 자바 개발자는 이 책을 통해 손쉽게 언어의 벽을 넘어 본격적으로 자신만의 앱 개발에 집중할 수 있다.


[ 소개 ]

우리 모두는 자바를 사랑한다. 그러나 그에 못지 않게 최근의 맥 OS X과 iOS에서의 개발은 굉장히 멋지며, 자바 이후로 가장 흥분되는 새로운 환경이다. 오브젝티브C를 배우지 않아도 된다면 좋겠지만 모르고 넘어갈 수는 없는 문제다. 하지만 여러분이 뼛속까지 자바쟁이라면 이미 오브젝티브C에 대해 생각보다는 더 많이 알고 있는 셈이다. 자바와 오브젝티브C, 이 두 언어는 비슷한 점이 많기에 여러분의 맥과 아이폰 개발 생산성을 빠르게 향상시켜주려고 이 책을 집필하기로 마음먹었다.

자바와 오브젝티브C는 둘 다 객체지향 언어이며, 상속 모델, 문자열 클래스, 가비지 컬렉션, 직렬화, 스레드, 인트로스펙션, 통신 등에 매우 유사한 방법을 사용한다. 또한 모델 뷰 컨트롤러(MVC) 같은 입증된 디자인 패턴을 사용할 수 있다. 이런 사항들은 이 책을 보기 전에도 이미 여러분이 어느 정도 알고 있는 개념이다!

이 책은 오브젝티브C를 빠르게 이해하고 숙달하기 위해 이미 알고 있는 자바 지식을 잘 활용하는 방법을 보여준다. 가장 중요한 점은, 이 책이 오브젝티브C만의 독특한 기능을 이용하고 설계에 통합시킬 수 있는 방법을 보여준다는 점이다. 분명히 좀 더 쉬운 길이 있는데도 밑바닥부터 시작함으로써, 애써 익혀둔 자바 지식을 낭비하지 말기 바란다. 자바 지식을 잘 활용해 오브젝티브C의 학습 곡선을 뛰어넘어 여러분 스스로를 최고로 만들기 바란다. 여러분이 기대하는 수준 이상으로 맥 OS X과 아이폰 애플리케이션을 빨리 작성할 수 있게 될 것이다.


[ 이 책에서 다루는 내용 ]

● 익숙한 자바 프로그래밍 기술을 활용해 맥과 아이폰 애플리케이션의 고유 언어인 오브젝티브C를 배운다.
● 맥과 아이폰의 숙련된 개발자가 꼭 알아야 할 코코아와 엑스코드 등 애플의 개발 환경을 습득한다.
● 예제를 통해 공부하고 추후 참조와 심화 학습에 이용한다. 모든 내용은 편리하게 구성돼 있으며, 디자인 패턴에 따라 각 기술을 참조할 수 있다.


[ 이 책의 대상 독자 ]

이 책은 가능한 한 빠른 시간 안에 오브젝티브C를 배우거나 탐구하려는 모든 자바 개발자를 위한 책이다.


[ 이 책의 구성 ]

이 책은 크게 오브젝티브C 언어, 실전 기술, 디자인 패턴, 고급 오브젝티브C라는 네 부분으로 구성했다.

1부에서는 오브젝티브C 언어 자체의 기초를 공부한다. 오브젝티브C가 자바와 얼마나 비슷하거나 다른지를 설명하며, 언어의 문법, 클래스 선언, 상속 등의 자세한 내용을 알아본다.

2부에서는 가비지 컬렉션, 파일 시스템, 인트로스펙션 등과 같은 특정 기술들을 알아본다. 각 장의 예제에서는 자바 코드와 동일한 오브젝티브C 코드를 나란히 보여준다. 각 표에서는 친숙한 자바 클래스와, 그와 동일한 역할을 하는 코코아 클래스를 함께 보여준다. 그 다음에는 주로 오브젝티브C에서만 가능한 고급 주제들을 다룬다.

3부는 디자인 패턴에 대한 내용으로 구성된다. 자바 개발자는 팩토리 패턴이나 모델 뷰 컨트롤러 패턴 등과 같은 중요한 여러 디자인 패턴을 사용한다. 각 장에서는 각 패턴을 오브젝티브C에서 구현하는 방법을 설명하며, 종종 놀랄만한 내용들이 소개될 것이다.

마지막 4부에서는 메모리 관리, 오브젝티브C와 C의 혼합, 오브젝티브C 런타임 환경 같은 오브젝티브C의 고급 주제들을 다룬다.

1부는 빠짐없이 읽기 바란다. 2부와 3부는 순서대로 읽어가도 좋고, 아니면 일단 건너뛰었다가 필요하면 나중에 다시 참고하는 것도 좋다. 4부의 고급 주제들은 아이폰의 메모리 관리를 사용하는 방법 등의 특정 상황에 대한 해법을 제시하므로 필요할 때 읽으면 된다. 각 장은 대부분 기초에서 시작해 점점 특별한 내용으로 진행되므로, 일단 원하는 것을 배웠다면 다음 장으로 넘어가도 된다.

저자/역자 소개

[ 저자 서문 ]

오브젝티브C는 그 훌륭한 가치에 비해 별다른 주목을 받지 못하다가, 애플의 맥 OS X과 아이폰의 성공으로 매우 유명해진 언어다. 맥 OS X이나 아이폰용 애플리케이션을 만들고 싶다면 반드시 배워야 할 언어가 바로 오브젝티브C다.

오브젝티브C는 공식 단체나 컴퓨터 과학의 주류가 개발한 언어로 느껴지지 않는다. 자바가 이 시대의 가장 훌륭한 언어 중 하나로 도약하는 데 기여한 많은 특징이 오브젝티브C에도 있지만, 오브젝티브C는 오히려 미니멀리즘을 지향하는 이들이나 무정부주의자들을 위한 언어에 더 가깝다. 오브젝티브C를 사용하면 자바에서와 마찬가지로 구조적이고 정형화된 조각들을 사용해 애플리케이션을 작성할 수 있다. 그러나 동시에 이 언어에 구멍을 내고 아무도 가지 않았던 방향으로 가려고 해도 오브젝티브C는 애써 여러분을 막지 않을 것이다.

나는 몇 년간 오브젝티브C로 프로그래밍을 하면서 내가 작성한 프로그램들이 얼마나 ‘자바스러운지’를 깨닫게 됐다. 자바의 많은 기법과 개념을 곧바로 오브젝티브C로 바꿀 수 있다는 사실을 알았다면 새로 배우고 실험을 하느라 걸린 몇 개월의 시간은 아낄 수 있었을 것이다. 여러분은 같은 운명을 겪지 말기를 바라는 마음에 이 책을 썼으니 잘 읽고 활용해주기 바란다.


[ 저자 소개 ]

제임스 뷰캐넥 (James Bucanek)
지난 30년간 마이크로프로세서 시스템의 프로그래밍과 개발을 해왔다. 임베디드 컨슈머 제품부터 산업용 로봇공학에 이르기까지 컴퓨터 하드웨어와 소프트웨어 경험이 풍부하다. 진행했던 개발 프로젝트에는 애플 II 컴퓨터용 최초의 LAN, 분산 공조 제어 시스템, 피아노 교습 시스템, 디지털 오실로스코프, 실리콘 웨이퍼 증착로, 초중고 교육과정(K-12)을 위한 협력 학습 도구 등이 있다. 제임스는 썬 마이크로시스템즈(Sun Microsystems)의 자바 개발자 자격(SCJD)을 취득했으며, LAN 최적화 분야에서 특허도 취득했다. 세련된 설계에 대한 열정에 유닉스와 객체지향 언어 분야의 깊은 지식을 더해, 현재 매킨토시와 아이폰 소프트웨어 개발에 주력 중이다. 제임스는 영국왕립무용학교(Royal Academy of Dance)의 고전 발레 준학사이기도 하다.


[ 옮긴이의 말 ]

2010년, 정보통신 분야의 키워드 중 하나는 단연 ‘모바일’이었습니다. 그리고 그 중심에는 항상 애플이 있었다는 사실을 우리는 알고 있습니다. 아이폰, 아이패드, 맥북을 사용하는 모습은 우리 주변에서 더 이상 보기 드문 광경이 아닙니다. 동시에 개발자나 엔지니어들에게도 ‘오브젝티브C’는 더 이상 ‘그들만의 언어’가 아닙니다. 그러나 많은 분이 언어의 벽에 부딪혀 순수한 ‘사용자’로 다시 돌아가거나, 아니면 익숙한 자바 기반의 다른 모바일 플랫폼으로 관심을 선회하는 경우가 많습니다. 물론 애플 플랫폼만이 절대적으로 우수하다는 얘기는 아닙니다. 다만, 단순히 언어 때문에 애플 플랫폼에서는 제대로 시작조차 못하는 것은 안타까운 일이 아닐 수 없습니다.

사실 오브젝티브C와 자바는 엄연히 다르며, 언어상의 유사점이 별로 많지 않습니다. 이 책이 두 언어의 차이점을 무시하고 일부 유사한 점만을 연관시켜 마치 자바 코드를 오브젝티브C 코드로 쉽게 변환할 수 있다는 억지 논리를 제시했다면 이 책은 아무런 가치가 없었을 겁니다. 오히려 혼란만 야기할 것이기 때문입니다. 이 책은 여러분이 속된 말로 자칫 ‘맨땅에 헤딩’하게 되는 불상사를 막기 위해 씌어진 책입니다. 저자 자신이 그런 시행착오를 겪었기 때문입니다. 여러분은 이미 원하는 프로그램을 만들 수 있는 설계와 구현상의 노하우, 기술적 컨셉, 문제 해결 능력을 갖고 있을 겁니다. 그런 여러분의 축적된 경험과 기술력을 바탕으로 손쉽게 오브젝티브C를 습득하고 실전에 응용할 수 있게 하는 것이 이 책의 목적입니다.

동시에 이 책은 오브젝티브C의 거의 모든 부분을 상당히 깊이 있게 다룹니다. 처음 오브젝티브C의 기본은 1부로 충분하므로 처음 공부하는 분은 1부의 내용을 충실히 학습하기 바랍니다. 1부 이후부터는 실전에서 필요하게 될 주제를 좀 더 심도 있게 다루므로, 실제 애플리케이션 개발을 진행하면서 이 책을 레퍼런스로 활용하면 됩니다.

가급적 자연스럽고 이해하기 쉬운 문장의 책이 되도록 노력을 했지만, 미숙한 번역이나 어색한 용어들이 있을 수 있습니다. 그런 부분에 대해서는 아낌없는 질타를 보내주시고, 오탈자나 잘못된 내용이 있으면 에이콘 홈페이지와 편집 팀에 알려주시기 바랍니다.

아무쪼록 이 책이 그토록 설레고 매혹적인 플랫폼에서도 거뜬히 여러분의 꿈을 펼치는 데 일조할 수 있기를 희망합니다. 오브젝티브C의 세계로 오신 자바 개발자 여러분을 환영합니다!


[ 옮긴이 소개 ]

이태상
연세대학교 생물학과 재학 중에 생물정보학(bioinformatics)을 계기로 프로그래밍과 인연을 맺었다가 졸업 후 아예 IT 업계로 뛰어들었다. 다년간 교육과 컨설팅 등 JavaEE 전문가로 활동했으며, 금융권 차세대 시스템 구축 프로젝트의 총괄 업무를 거쳐 현재는 전자금융 시스템을 운영 중이다. 최근 개인적인 관심사는 아이패드 앱 개발이다. 두 아이의 아빠이기 이전에 그들 세대가 넘겨받을 우리 사회에 대해 일말의 책임이라도 질 수 있는, ‘개념을 탑재한’ 기성세대가 되고픈 30대 후반의 평범한 컴쟁이다. 에이콘출판사에서 출간한 『톰캣 최종분석』(2005), 『JSF 인 액션』(2006), 『스프링 인 액션』(2006)을 번역했다.

목차

목차
  • 1부 언어
  • 1장 개요
    • 오브젝티브C란
      • 역사
      • 현대적인 객체지향 언어
      • 최고의 컴파일러
      • 성능
      • 동적인 실행
      • 개발자 생산성
    • 새로운 언어 학습
    • 용어와 문화적 충격
    • 어느 쪽이 더 좋은가?
    • 정리
  • 2장 자바와 C 언어의 주요 차이점
    • 기본 자료형
    • 상수
    • typedef
    • 포인터
    • 구조체
    • 객체 참조
    • 배열
    • static
    • 함수
    • extern
    • 전처리기
      • #include와 #import
      • #define
      • #if
    • 자동 변수 초기화
    • 레이블: break, continue, goto
    • 정리
  • 3장 오브젝티브C
    • 오브젝티브C 클래스 정의
    • 객체 포인터
    • 메시지 전송
    • 메소드 이름 지정
    • 파라미터와 반환 자료형
    • 메소드 셀렉터
    • 인스턴스 변수
      • isa
      • 프로퍼티
      • 프로퍼티 속성
    • 프로퍼티 재정의
    • 프로퍼티 접근
    • 범위
      • 클래스 이름 범위
      • 인스턴스 변수 범위
      • 메소드 범위
    • @class 명령
    • self와 super
    • 클래스 메소드
    • 객체 인스턴스 생성
      • init 메소드 작성
      • 초기화 메소드 연결
      • 지정 초기화 메소드
      • 간편 생성자 메소드
    • 소멸자
    • 오브젝티브C에서 제공하지 않는 개념
  • 4장 엑스코드 프로젝트
    • 프로젝트 다운로드
    • 프로젝트 생성
    • 시작하기
    • 애플리케이션 설계
      • 사용자 인터페이스 설계
      • 컨트롤러 추가
      • 객체 바인딩
      • 배열 컨트롤러 추가
    • 비즈니스 로직
    • 애플리케이션 디버깅
    • 샌드박스 애플리케이션 작성
    • 정리
  • 5장 프로토콜과 카테고리
    • 프로토콜
    • 비공식 프로토콜
    • 공식 프로토콜과 비공식 프로토콜의 혼용
    • 카테고리
      • 카테고리를 활용한 구성
      • 메소드 숨기기
      • 외부 클래스에 기능 추가
      • 익스텐션
    • 정리
  • 6장 메시지 전송
    • 메시지 컴파일
      • 선언하지 않은 메소드
      • 모호한 메소드
      • 메소드 강제 호출
    • 메소드 전송 코드 직접 작성
      • 메시지 직접 전송
      • 지연 메시지
    • 객체지향적 메소드 호출
    • 메소드 직접 호출
    • 가변 인자
    • 구현하지 않은 메소드의 호출
    • 정리
  • 7장 nil의 이해
    • nil에 메시지 전달
    • nil 객체의 반환 값
    • nil을 염두에 둔 설계
      • 프로퍼티 접근자
      • 부재중 동작
      • 없음의 일관성
    • 공짜는 없다
    • 정리
  • 2부 실전 기술
  • 8장 문자열과 기본 자료형
    • 기본 자료형의 래핑
      • 스칼라 자료형 변환
      • 문자열을 기본 자료형으로 변환
    • 배열의 래핑
    • 임의 값의 래핑
    • nil의 래핑
    • 문자열
      • 객체를 문자열로 변환
      • C 문자열
    • 문자열 포매팅
      • NSFormatter
      • NSNumberFormatter
      • NSDateFormatter
    • 정리
  • 9장 가비지 컬렉션
    • 가비지 컬렉션 활성화
    • 가비지 컬렉션 대응 코딩
    • finalize 메소드 작성
    • 약한 참조 활용
    • 강한 참조 활용
    • 가비지 컬렉션 요청
    • 가비지 컬렉션과 포인터
      • 쓰기 배리어
      • 수집 가능한 메모리 할당
      • 가비지 컬렉션의 주의 사항
    • 피해야 할 디자인 패턴
    • 디버깅
    • 정리
  • 10장 인트로스펙션
    • 메소드 테스트
    • 클래스 멤버십 테스트
    • 키 밸류 코딩
      • 키 밸류 코딩의 사용
      • KVC 호환 클래스 설계
      • 커스텀 키 밸류
    • 클래스 조사
    • 프로토콜 조사
    • 메소드 조사
    • 프로퍼티 조사
    • 인스턴스 변수 조사
    • 정리
  • 11장 파일
    • 파일 시스템 API
    • 파일 시스템 항목 식별
      • 파일명과 경로명
      • 작업 디렉토리
      • 파일 URL
      • 디렉토리 생성과 삭제
      • 특별한 디렉토리 찾기
    • 사용자의 파일 요청
    • 심볼릭 링크, 하드 링크, 별칭
    • 디렉토리 내용으로 작업
    • 파일 속성
    • 고급 파일 메소드
    • NSWorkspace
    • 임의 파일 접근
    • NSFileManager 위임
    • 기타 API
    • 정리
  • 12장 직렬화
    • 아카이빙
      • 아카이브 유형
      • 아카이브 코더
      • 아카이브와 문서
      • 클래스에 키 아카이브 기능 추가
      • 클래스에 연속 아카이브 기능 추가
      • 키 아카이브와 연속 아카이브 모두 지원
      • 아카이브 이모저모
    • 오브젝티브C 직렬화
      • 프로퍼티 리스트
      • XML
    • 객체 복사
    • 정리
  • 13장 통신
    • 단일 프로세스 내의 통신
    • 다른 프로세스와의 통신
      • 저수준 통신
      • 고수준 통신
    • 네트워킹
      • 네트워크 서비스
      • URL 로딩
    • 정리
  • 14장 예외 처리
    • 예외의 사용
    • 자바의 예외 처리와 다른 점
      • 잡기나 지정하기가 없음
      • 어떤 객체든 던질 수 있음
      • 예외 다시 던지기
      • 예외 처리 순서
      • 예외 체인
      • 호출 스택
      • 성능
      • 잡을 수 없는 예외
    • 레거시 예외
    • 어서션
    • 예외의 대안
      • 단순 오류
      • POSIX 오류 코드
      • 코어 파운데이션 오류 코드
      • 코코아 오류
    • 오류와 예외의 혼합
    • 정리
  • 15장 스레드
    • 스레드 API
    • 스레드의 시작
    • 스레드 관리
      • 스레드 잠재우기
      • 스레드 프로퍼티
    • 스레드 특정 값
      • 우선순위
      • 스택 크기
      • 이름
    • 스레드의 종료
    • 실행 루프
      • 실행 루프의 시작
      • 실행 루프 모드
      • 실행 루프의 중지
      • 실행 루프 커스터마이징
    • 스레드 알림
    • 스레드 동기화
      • @synchronize 지시어
      • 상호배제 세마포어 객체
      • 스핀 락
    • 작업 객체
    • 타이머
    • 정리
  • 3부 프로그래밍 패턴
  • 16장 컬렉션 패턴
    • 불변 컬렉션
    • 순서 있는 컬렉션
      • 공통적인 메소드
      • NSArray, NSMutableArray
      • NSPointerArray
    • 사전 컬렉션
      • 공통적인 메소드
      • NSDictionary, NSMutableDictionary
      • NSMapTable
    • Set 컬렉션
      • 공통적인 메소드
      • NSSet, NSMutableSet
      • NSCountedSet
      • NSIndexSet
      • NSHashTable
    • 컴포지트 패턴 507
    • 컬렉션 동등성 규약
    • 컬렉션 비교
    • 이터레이터 패턴
      • 고속 열거
      • 열거자
      • 컬렉션 객체 접근
      • 열거에 대한 추가 지원
    • 컬렉션 정렬
      • 오브젝티브C 메시지를 사용하는 정렬
      • C 함수를 사용하는 정렬
      • 정렬 설명자
    • 컬렉션 필터링
    • 컬렉션 동시성
      • 컬렉션 복사본 열거
      • 컬렉션 변경 유예
      • 스레드 안전성
      • 가비지 컬렉션과 약한 컬렉션
    • 정리
  • 17장 위임 패턴
    • 위임 패턴의 이해
    • 위임 객체 사용
    • 위임 메소드
    • 위임 프로토콜
    • 위임 패턴 적용
    • 정리
  • 18장 공급자/구독자 패턴
    • 알림
    • 알림 센터
    • 동기식 알림 게시
    • 차별화된 관찰자
    • 관찰자 제거
    • 알림 큐
      • 알림 큐잉
      • 알림 병합
      • 알림 꺼내기
    • 분산 알림
      • 분산 알림 센터
      • 프로퍼티 리스트 값
      • 비동기식 알림 통지
      • 분산 알림 센터 중단
    • 정리
  • 19장 관찰자 패턴
    • 키 밸류 관찰
    • KVO 등록
    • 키 밸류 변경 알림 처리
    • 관찰자 탈퇴
    • KVO 호환 클래스
      • KVO 알림 수동 발송
      • 프로퍼티 의존성
      • KVO 재정의
    • KVO 최적화
    • 정리
  • 20장 MVC 패턴
    • MVC의 이해
      • MVC의 변형
      • MVC의 이점
    • 바인딩
    • 인터페이스 빌더
      • NIB 문서
      • NIB 문서 창
      • 객체 프로퍼티
      • 위치보유자 객체
      • 연결
      • 소유자 객체
      • 커스텀 객체
      • 객체의 인스턴스화
      • NIB 객체 초기화
      • 뷰의 기하학
      • 커스텀 뷰
    • 문서 모델
    • 이벤트와 응답자
      • 동적 애플리케이션
      • 이벤트
      • 이벤트 객체
      • 키 이벤트
      • 마우스 이벤트
      • 응답자 체인
    • 데이터 모델
      • 레거시 테이블과 트리 모델
      • 컬렉션 컨트롤러
      • 코어 데이터
      • 커스텀 데이터 모델 객체
    • 컨트롤러
      • 커스텀 컨트롤러
      • NSController
    • 틱택토에 관해
      • Info.plist
      • 되돌리기
      • 자원
      • 지역화된 자원
    • 정리
  • 21장 지연 초기화 패턴
    • 패턴의 구현
    • 전역 변수의 지연 초기화
    • +initialize 클래스 메소드
    • 정리
  • 22장 팩토리 패턴
    • URL 팩토리
    • 행렬 클래스
      • 자바 Matrix 팩토리
      • 오브젝티브C Matrix 클러스터
    • 정리
  • 23장 싱글톤 패턴
    • 싱글톤 구현
    • 지연 싱글톤
    • 싱글톤 팩토리
    • 정리
  • 4부 고급 오브젝티브C
  • 24장 메모리 관리
    • C 메모리 할당
    • 오브젝티브C 참조 카운팅
    • 오토릴리즈 풀
      • 오토릴리즈 풀의 수명
      • 반환된 참조
      • 오토릴리즈된 객체
    • 메모리 관리 패턴
      • 새로운 객체 패턴
      • 오토릴리즈된 객체 패턴
      • 오토릴리즈된 객체의 반환
      • 세터 패턴
      • init 패턴
      • dealloc 패턴
      • 암묵적으로 보유된 객체
    • 메모리 관리 환경의 문제
      • 과다 보유되거나 덜 반환된 객체
      • 과다 반환되거나 덜 보유된 객체
      • 조기 반환된 객체
      • 순환 참조
    • 오토릴리즈 풀 생성
    • 메모리 관리와 가비지 컬렉션의 혼합
    • 정리
  • 25장 C와 오브젝티브C의 혼용
    • 오브젝티브C에서 C 사용
      • 오브젝티브C에서 C 함수 호출
      • C에서 오브젝티브C 객체 사용
    • 코어 파운데이션
      • 무료 브릿지
      • C 메모리 관리
    • 정리
  • 26장 런타임
    • 프로세스
      • 환경
      • 커맨드라인 인자
      • 프로세스 속성
      • 버전
    • 패키지와 번들
    • 프레임워크
    • 사용자 기본값
    • isa 스위즐링
    • 64비트 프로그래밍
    • 정리

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안

정오표

[ p489 -[NSSet filteredSetUsingPredicate:] 행 ]
se을 → set을