Cocoa Internals (오브젝티브-C와 스위프트, 멀티 패러다임의 시작)

Cocoa Internals (오브젝티브-C와 스위프트, 멀티 패러다임의 시작)

$22.00
Description
애플이 코코아 프레임워크를 블랙박스로 만들어놓아 직접 들여다볼 수 없지만 컴파일러 옵션을 활용해서 컴파일 결과 파일을 분석하거나 메모리 분석 도구를 사용하면 내부 동작을 간접적으로나마 이해할 수 있다. 『Cocoa Internals』에서는 함수 중심 프로그래밍 관점에서 오브젝티브-C와 스위프트가 어떻게 새로운 패러다임을 적용했는지, 서로 어떻게 호환되는지, 결과적으로 각각 어떤 특징을 가지고 있는지 살펴본다.
저자

김정

저자김정은애플개발자커뮤니티OSXDev운영진으로애플기술에반젤리스트를꿈꾸고있다.현재소프트웨어교육스타트업코드스쿼드대표이며,NEXT에서모바일교수를겸하고있다.20년전취미로맥개발을시작했는데이제는본업이되어버렸다.『Xcode4』(2011,인사이트)를저술하고『아이폰해킹』(2010,인피니티북스),『iOS와안드로이드를위한HTML5』(2012,지앤선),『iOS와OSX메모리관리와멀티스레딩기법』(2013,지앤선)을번역했으며,강연과컨설팅활동도활발하게하고있다.

목차

1부객체중심프로그래밍
1장객체
1.1클래스와객체인스턴스
1.1.1객체에대한철학
1.1.2객체중심프로그래밍
1.1.3오브젝티브-C객체
1.1.4오브젝티브-C2.0이후변화
1.1.5스위프트네이티브객체
1.1.6스위프트오브젝티브-C호환객체
1.1.7요약
1.2객체정체성과등가성
1.2.1오브젝티브-C객체와메모리구조
1.2.2객체정체성
1.2.3객체등가성
1.2.4객체예외성
1.2.5-hash메서드
1.2.6요약
1.3객체사이관계
1.3.1메타클래스
1.3.2상속
1.3.3is-a관계와has-a관계
1.3.4요약
1.4오브젝티브-C런타임
1.4.1기존런타임과최신런타임
1.4.2메시지디스패치
1.4.3최신런타임API
1.4.4요약

2장메모리관리
2.1메모리와객체
2.1.1객체인스턴스생성
2.1.2객체인스턴스소멸
2.1.3요약
2.2참조계산
2.2.1객체소유권
2.2.2자동반환목록
2.2.3객체그래프
2.2.4순환참조문제
2.2.5요약
2.3객체초기화
2.3.1여러초기화메서드
2.3.2초기화메서드구현하기
2.3.3객체초기화관련한문제
2.3.4요약

3장자동메모리관리
3.1ARC(자동참조계산)
3.1.1수동참조계산방식과비교
3.1.2ARC규칙
3.1.3소유권수식어
3.1.4타입연결
3.1.5프로퍼티와인스턴스변수
3.1.6요약
3.2ARC구현방식
3.2.1강한참조
3.2.2자동반환용리턴값
3.2.3약한참조
3.2.4자동반환방식
3.2.5요약

4장객체복사
4.1NSCopying계열프로토콜
4.1.1복사만가능한객체
4.1.2복사와수정이가능한객체
4.1.3요약
4.2얕은복사vs.깊은복사
4.2.1얕은복사
4.2.2깊은복사
4.2.3요약
4.3아카이브
4.3.1객체직렬화와아카이브의차이
4.3.2<NSCoding>프로토콜
4.3.3이름있는아카이브
4.3.4아카이브만들기
4.3.5아카이브해제하기
4.3.6객체인코딩과디코딩
4.3.7<NSSercureCoding>프로토콜
4.3.8요약

5장불변객체와가변객체
5.1불변객체
5.1.1불변객체의특징
5.1.2불변객체클래스
5.1.3불변객체구현하기
5.1.4요약
5.2가변객체
5.2.1가변객체의특징
5.2.2가변객체클래스
5.2.3가변객체참조사례1:가변모델객체와뷰객체
5.2.4가변객체참조사례2:NSMutableSet와가변객체
5.2.5요약

6장컬렉션클래스
6.1순서가있는배열컬렉션
6.1.1배열성능특성
6.1.2포인터배열
6.1.3중첩된배열접근하기
6.1.4스위프트배열
6.1.5요약
6.2고유한키값으로접근하는사전컬렉션
6.2.1사전활용방법
6.2.2포인터사전
6.2.3사전성능특성
6.2.4스위프트사전
6.2.5요약
6.3순서가없는집합컬렉션
6.3.1집합활용방법
6.3.2포인터집합
6.3.3사전성능특성
6.3.4스위프트집합
6.3.5요약
6.4집합변형컬렉션
6.4.1배열인덱스를저장하는인덱스집합
6.4.2순서가있는집합
6.4.3요약

7장코코아디자인패턴
7.1코코아프레임워크핵심패턴
7.1.1두단계초기화패턴
7.1.2MVC(Model-View-Controller)패턴
7.1.3메시지셀렉터패턴
7.1.4요약
7.2객체사이결합성을줄여주는패턴
7.2.1싱글턴패턴
7.2.2옵저버패턴
7.2.3응답체인패턴
7.2.4호출패턴
7.2.5요약
7.3객체내부의복잡성을감춰주는패턴
7.3.1팩토리추상화패턴
7.3.2파사드패턴
7.3.3번들패턴
7.3.4프락시패턴
7.3.5요약

2부함수중심프로그래밍
8장블록과클로저
8.1블록
8.1.1블록객체구현
8.1.2변수캡처하기
8.1.3__block지시어
8.1.4요약
8.2스위프트클로저
8.2.1클로저형식
8.2.2함수유형
8.2.3요약

9장스위프트타입시스템
9.1타입시스템
9.1.1스위프트타입
9.1.2타입검사
9.1.3의미있는값vs.의미있는레퍼런스
9.1.4요약
9.2열거타입
9.2.1열거타입과프로토콜
9.2.2연관값을가지는열거타입
9.2.3가공없는값을가지는열거타입
9.2.4요약
9.3구조체타입
9.3.1구조체타입
9.3.2구조체타입기반의스위프트타입
9.3.3요약
9.4문자열타입
9.4.1문자열코어
9.4.2문자열과메모리
9.4.3문자열뷰
9.4.4요약
9.5부가적인타입들
9.5.1불안전한포인터
9.5.2옵셔널
9.5.3옵셔널강제제거
9.5.4슬라이스
9.5.5시퀀스
9.5.6AnyObject
9.5.7요약
9.6스위프트런타임
9.6.1메모리관리
9.6.2참조계산용메모리관리
9.6.3동적타입변환
9.6.4오브젝티브-C연결
9.6.5메타타입
9.6.6요약
9.7스위프트파운데이션
9.7.1파운데이션타입
9.7.2요약

출판사 서평

코코아프레임워크의멀티패러다임을파헤쳐보자

애플이코코아프레임워크를블랙박스로만들어놓아직접들여다볼수없다.하지만컴파일러옵션을활용해서컴파일결과파일을분석하거나메모리분석도구를사용하면내부동작을간접적으로나마이해할수있다.함수중심프로그래밍관점에서오브젝티브-C와스위프트가어떻게새로운패러다임을적용했는지,서로어떻게호환되는지,결과적으로각각어떤특징을가지고있는지살펴본다.

이책은컴파일러동작이나프레임워크구조를이해하는데도움을주므로,앱메모리문제나반응성,성능개선등상세한프레임워크동작방식을이해해야풀수있는문제를해결하는데큰도움이될것이다.

이책은크게2부로나뉘어있다.1부는객체중심프로그래밍관점에서오브젝티브-C언어위주로설명한다.스위프트클래스특장점도함께비교하고,객체디자인패턴도설명한다.2부에서는함수중심프로그래밍관점에서블록과스위프트내부동작에대해알아본다.코코아프레임워크를종합적으로이해하기위해서는두가지관점에서접근해야하고,다양한컴파일도구를잘활용할수있어야한다.코코아프레임워크를사용하면서도개념과구조가명확하지는않았던독자들에게많은도움이될것이다.