iOS와 맥 OS X 개발을 위한
오브젝티브-C (2판)
저자: 마크 달림플, 스콧 내스터, 와카르 말릭
역자: 이종웅, 김기훈
출간예정일: 2013년 2월 22일 (금)
정가: 28,000원
페이지: 486
판형: 175 x 230
ISBN: 978-89-94774-30-5 (93560)
원서정보: Learn Objective-C on the Mac For OS X and iOS SECOND EDITION
1판 정보: 아이폰과 맥 OS X 개발을 위한 오브젝티브-C 2.0 (978-89-96276-500)
관련분류
-개발/OS/DB > 개발/OS/DB 기타
-프로그래밍 언어 > 프로그래밍 언어 기타
-모바일 프로그래밍 > 아이폰
소스코드 다운로드
http://www.bjpublic.co.kr -> 도서자료 -> 소스코드 다운로드
샘플 챕터(2장) 다운로드
책 소개
프로들이 만든 프로들을 위한 책
이 책으로 최근 가장 인기 있는 아이폰, 아이패드, 매킨토시용 앱을 만들어보자. 이 책은 iOS와 OS X 인터페이스를 만드는 데 쓰이는 AppKit과 UIKit을 사용하는 방법을 알려준다.
매킨토시 전문가인 스콧 내스터와 와카르 말릭은 애플의 최신 Xcode 툴을 사용해 오브젝티브-C 기초를 완벽하게 설명하고 있으며, 오브젝티브-C뿐만 아니라 애플의 코코아 툴킷에 대해서도 알려준다. 이 책으로 오브젝티브-C를 배우고 나면, 실제 코코아 프로젝트에 참여할 준비가 끝나게 될 것이다.
이 책을 통해 배울 내용:
l 변수를 이해하고 자료구조를 설계하는 방법을 배운다.
l 오브젝티브-C에 새로 추가된 블록, ARC, 클래스 확장 등을 배운다.
l 새로운 툴인 Clang 정적 분석기와 GCD를 배운다
l UIKit를 사용해서 쉽게 모바일 인터페이스를 만들 수 있다.
이 책은 상속, 컴포지션, 객체 초기화, 카테고리, 프로토콜, 메모리 관리, 소스파일 관리 등의 개발에 필요한 기본적인 내용을 다양하게 다루고 있다.
C에 능숙하거나 다른 객체지향 언어인 C++, JAVA에 능숙한 경우라도, 이 책을 통해 오브젝티브-C의 특징을 앱 개발에 바르게 적용할 수 있게 된다.
소스코드 다운로드
http://www.apress.com/9781430241881
독자대상
초중급
저자소개
마크 달림플(Mark Dalrymple)은 오랫동안 매킨토시와 UNIX 프로그래머로 일해왔으며 크로스플랫폼 툴킷, 인터넷 출판 툴, 고성능 웹 서버, 일반 사용자용 프로그램 등을 만들어왔다. 아울러 『Advanced Mac OS X Programming』(Addison-Wesley, 2005)의 저자이기도 하다. 남는 시간에는 주로 트롬본과 바순을 연주하고 풍선으로 동물도 만든다.
스콧 내스터(Scott Knaster)는 애플의 암흑기(애플에 스티브잡스가 다시 들어오기 전, 거의 쓰러지기 직전)에 근무했다. 스콧은 애플에서 코코아가 선보인 초기에 매킨토시용 소프트웨어를 개발하는 개발자 지원 역할을 했다. 스콧은 현재 구글에서 개발자 지원팀에 있으며 구글 맥 블로그(Google Mac Blog)를 운영한다. 컴퓨터를 좋아하는 친구들과 실리콘 밸리에 살고 있다.
와카르 말릭(Waqar Malik)은 오랫동안 UNIX 전문가로 활동했다. Mac OS X가 처음 나왔을 때 애플에서 코코아와 UNIX를 개발하는 개발자 지원 역할을 했다. 현재는 샌디에고에 있는 MeLLmo사에서 근무하고 있고 iOS용 소프트웨어를 만들고 있다.
역자소개
이종웅
10여년 동안 CPU설계 회사에서부터 게임회사까지 IT분야의 전 부분을 경험한 현직 프로그래머. 하드웨어(회로설계), 운영체제, 컴파일러, 멀티미디어, 게임에 관심이 많고, 현재는 에어플러그사에서 네트워크 관련 소프트웨어를 개발하고 있다. 사람들과 개발관련 정보 공유를 좋아하며, osxdev.org에서 오프라인 강좌를 하기도 한다.
김기훈
멀티미디어 분야에서 개발자로 일을 시작해서, 지금은 복잡한 서울을 떠나 시골에서 iOS용 앱을 개발하고 있다. 멀티미디어 관련 앱 출시를 시작으로, 사용자들의 시선을 빼앗는 프로그램을 만들어보겠다는 다짐으로 오늘도 맑은 공기를 마시면서 코드를 만들고 있다.
목차
Chapter 01. Hello Objective-C
시작하기 전에
과거 없는 미래는 없다
앞으로 배울 것들
준비
요약
Chapter 02. C의 확장
가장 간단한 오브젝티브-C 프로그램
Hello Objective-C 빌드
Hello Objective-C 분해하기
낯선 #import
프레임워크 소개
NSLog()와 @"문자열"
접두사 NS: 이름 충돌에 대한 처방
NSString과 @
불리언 타입
실전에 강한 BOOL
첫 번째 함수
두 번째 함수
자기 자신의 비교
요약
Chapter 03. 객체 지향 프로그래밍 소개
모든 길은 인다이렉션으로 통한다.
변수와 인다이렉션
파일 이름을 통한 인다이렉션
객체 지향 프로그래밍에서 인다이렉션 사용하기
절차적 프로그래밍
도형 그리기
도형을 그리는 코드
객체 지향으로 구현하기
용어 살펴보기
오브젝티브-C에서의 OOP
@interface 섹션
@implementaion 섹션
객체의 인스턴스 만들기
Shapes-Object 확장하기
요약
Chapter 04. 상속
상속은 왜 사용할까?
상속 문법
용어 살펴보기
상속은 어떻게 동작하는가?
메소드 디스패치
인스턴스 변수
메소드 오버라이딩
수퍼클래스의 메소드 사용
요약
Chapter 05. 컴포지션
컴포지션이란 무엇인가?
자동차 이야기
NSLog() 수정
접근자 메소드
엔진 세팅
타이어 세팅
자동차의 변경사항 추적
CarParts 확장
컴포지션이냐 상속이냐
요약
Chapter 06. 소스 파일 구성
인터페이스와 구현 분리하기
Xcode에서 새 파일 만들기
자동차 분해하기
크로스 파일 의존성 사용하기
재(再)컴파일의 기본 상식
Car 동작시키기
포함과 상속
요약
Chapter 07. Xcode에 대하여
메인 윈도우
회사 이름 바꾸기
에디터 관련 팁
Xcode의 도움을 받아 코드 작성하기
코드를 보기 좋게 만드는 들여쓰기
코드 자동 완성(코드 센스)
괄호 매칭
편집 기능
소스코드 탐험하기
맥과 Emacs
파일 열기
소스코드에 집중하자
내비게이션 바
정보 얻기
도와주세요!
원하는 문서 찾기
디버깅
원시인 디버깅
Xcode의 디버거
심볼 추가
디버깅을 해보자!
데이터 살펴보기
단축키 모음
요약
Chapter 08. Foundation Kit 소개
튼튼한 기초
프로젝트가 자동으로 생성하는 코드
유용한 타입
범위를 나타내는 구조체
기하학 관련 타입
문자열을 처리하는 클래스
문자열 만들기
클래스 메소드
크기 문제
비교 정책
대소문자의 구별
문자열 안에 원하는 문자 찾기
문자열 변경
컬렉션
NSArray
뮤터블 배열
이너머레이터
빠른 이너머레이션
NSDictionary
사용하되 확장은 금물
여러 가지 값
NSNumber
NSValue
NSNull
예제: 파일 찾기
더 빠른 방법(레퍼드용)
요약
Chapter 09. 메모리 관리
객체의 일생
참조횟수
객체 소유권
접근자의 참조횟수 관리
오토릴리즈
오토릴리즈 풀
정리의 화신
실제 풀 사용하기
코코아 메모리 관리 규칙
전이 객체
객체 보관하기
정말 쉬운 방법은 없는 것일까?
ARC(Automatic Reference Counting)
때로는 약한 것이 좋다
새롭게 바꿔보자!
소유권이 갖는 특권
예외
예외 관련 키워드
다른 예외 타입 잡아내기
예외 발생시키기
예외도 메모리 관리가 필요하다.
예외와 오토릴리즈 풀
요약
Chapter 10. 객체 초기화
객체 할당
객체 초기화
초기화 메소드 작성하기
초기화할 때 해야 할 일
사용하기 편리한가?
부분별 개선 작업
Tire를 위한 init 메소드
main() 함수 업데이트
Car 클래스 메모리 정리
가비지 컬렉션과 ARC 스타일로 Car 정리하기
편리한 이니셜라이저 만들기
지정된 이니셜라이저
서브클래싱 문제
Tire의 초기화 메소드 수정
AllWeatherRadial 초기화 메소드 추가
초기화 메소드 규칙
요약
Chapter 11. 프로퍼티
프로퍼티 값 축소하기
인터페이스 축소하기
구현 축소하기
점(.)
객체 프로퍼티 사용하기
이름 바꾸기
읽기 전용으로 설정하기
컴파일러에 맡기지 말자.
메소드 이름이 마음에 들지 않는다면
프로퍼티도 만능이 아니다
요약
Chapter 12. 카테고리
카테고리 만들기
카테고리를 만들어보자
interface
@implementation
나쁜 카테고리
좋은 카테고리
특별한 카테고리
카테고리로 구현 분리하기
프로젝트에서 카테고리 사용하기
카테고리로 전방 참조 만들기
긴급 출동 카테고리 구조대
비공식 프로토콜과 델리게이션 카테고리
ITunesFinder 프로젝트
델리게이트와 카테고리
셀렉터에 응답하기
셀렉터의 다른 사용 용도
요약
Chapter 13. 프로토콜
공식 프로토콜
프로토콜 선언하기
프로토콜 채택하기
프로토콜 구현하기
사본 만들기
엔진 복사하기
타이어 복사하기
자동차 복사하기
프로토콜과 데이터 타입
오브젝티브-C 2.0의 장점
델리게이트 사용하기
요약
Chapter 14. 블록과 동시실행
블록(block)을 가지고 놀아보자!
블록과 함수 포인터
블록 사용하기
블록을 직접 사용하기
typedef 사용
블록과 변수
지역 변수
전역 변수
파라미터 변수
__block 변수
블록 지역 변수
오브젝티브-C 객체
동시실행
동기화
성능을 선택하는 경우
디스패치 큐(Dispatch Queue)
큐의 메모리 관리
큐 컨텍스트
디스패치로 프로그래밍하기
오퍼레이션 큐
Invocation Operation 생성하기
요약
Chapter 15. UIKit 소개
뷰 컨트롤러
Nib 파일에 아이템 추가하기
요약
Chapter 16. AppKit 소개
프로젝트 만들기
델리게이트 @interface 만들기
인터페이스 빌더
유저 인터페이스 배치하기
연결하기
아웃렛 연결하기
액션 연결하기
AppDelegate 구현
요약
Chapter 17. 파일 불러오기와 저장하기
프로퍼티 리스트
NSDate
NSData
프로퍼티 리스트 기록하고 읽기
객체 수정하기
객체 인코딩
요약
Chapter 18. 키-밸류 코딩
시작 프로젝트
KVC 소개
경로! 경로!
전방위 공격
잠시 쉬어가기
부드러운 연산자
인생은 한방
Nil은 살아있다
처리되지 않은 것 처리하기
요약
Chapter 19. 정적 분석기 사용하기
정적 분석기
분석하기
사용하지 않는 객체
코드 흐름 검사
메모리 누수 감지
프로그래머가 빠뜨린 부분 찾아주기
분석기 더 잘 사용하기
사용하고 있는 객체를 반환하는 경우
참조되지 않은 객체 반환하는 경우
아무것도 반환하지 않는 경우
좀더 알아보자.
비교 문 오류 문제
메모리 누수 문제
중복 해제 문제
동기화와 nil 문제
좋은 친구 정적 분석기
요약
Chapter 20. NSPredicate
프레디킷 만들기
프레디킷 평가하기
연료 필터
형식 지정자
안녕하세요 연산자님, 9번 부탁합니다
비트 및 논리 연산
배열 연산자
SELF, 혼자서도 잘해요
문자열 연산
Like, 대충 비슷한 거 주세요
책을 마치며
부록: 다른 언어에서 오브젝티브-C로
이 책의 구성
l 2장 C의 확장은 오브젝티브-C를 소개하는 기본 내용에 중점을 두고 있다.
l 3장 객체 지향 프로그래밍의 소개는 객체 지향 프로그래밍의 기본적인 내용을 설명한다.
l 4장 상속은 부모 클래스의 특징을 가지고 있는 클래스를 만드는 방법에 대해 설명한다.
l 5장 컴포지션은 객체들이 결합돼서 함께 동작할 수 있도록 하는 방법을 알아본다.
l 6장 소스 파일 구성에서는 프로그램 소스를 만들기 위한 실제 전략을 알아본다.
l 7장 Xcode에 대하여에서는 여러분이 프로그래밍할 때 도움이 되는 몇 가지 팁과 Xcode에 능숙해지기 위한 방법을 보여준다.
l 8장 Foundation Kit 소개는 코코아의 주요 프레임워크 중 하나인 Foundation Kit을 사용해 코코아의 특징을 알아본다.
l 9장 메모리 관리와 ARC에서는 코코아 애플리케이션을 만들 때 많은 시간을 보내게 되는 메모리 관리를 설명한다.
l 10장 객체 초기화에서는 객체가 만들어질 때 어떠한 일이 일어나는지를 살펴본다.
l 11장 프로퍼티에서는 오브젝티브-C에서 사용하는 점(.) 표기법의 비밀을 알아보고 객체 접근자를 쉽게 만드는 방법을 살펴본다.
l 12장 카테고리에서는 이미 존재하고 있는 클래스(여러분이 작성하지 않은 클래스일지라도)에 새로운 메소드를 추가할 수 있는 오브젝티브-C의 특별한 능력을 설명한다.
l 13장 프로토콜에서는 클래스를 구현하는 데 필요한 내용을 알려주도록 하는 오브젝티브-C에서 사용하는 상속의 한 형태에 대해 설명한다.
l 14장 블록과 동시성에서는 데이터와 코드로 구성되는 블록으로 함수의 기능을 향상시키는 새로운 오브젝티브-C 기능을 알아본다.
l 15장 UIKit 소개에서는 iOS의 핵심 프레임워크인 UIKit을 사용해 멋진 애플리케이션을 개발하는 방법을 알아본다.
l 16장 AppKit소개에서는 OS X 애플리케이션을 위한 기본 프레임워크를 소개한다는 것을 제외하고 15장과 비슷하다.
l 17장 파일 불러오기와 저장하기에서는 데이터를 저장하고 가져오는 방법을 알아본다.
l 18장 키-밸류 코딩은 데이터를 간접적으로 다루는 방법을 알아본다.
l 19장 정적 분석기에서는 프로그래머들의 실수를 찾아내는 강력한 Xcode의 툴인 정적 분석기를 사용하는 방법을 살펴본다.
l 20장 NSPredicate에서는 데이터를 어떻게 자르는지 알아본다.
출판사 리뷰
오브젝티브-C는 C언어의 수퍼셋(superset)으로 맥 OS X나 iOS가 사용하는 룩앤필(Look & Feel, 겉모양)을 갖는 다양한 애플리케이션에 사용되는 언어다.
이 책은 오브젝티브-C 언어의 기본기를 다지기 위한 책으로, 오브젝티브-C뿐만 아니라 애플의 코코아(OS X)와 코코아 터치(iOS) 툴킷(Cocoa& Cocoa Touch Toolkits)에 대해 알려준다. 코코아와 코코아 터치는 오브젝티브-C로 만들어졌고 OS X와 iOS 사용자 인터페이스에 대한 모든 요소를 포함하고 있다. 일단 오브젝티브-C를 배우고 나면 이제 코코아로 구성된 프로젝트를 만들 수 있는 준비가 됐다고 볼 수 있다.
C가 아닌 다른 언어에 대한 경험을 가지고 있는 경우라도, 이 책을 통해 무리 없이 오브젝티브-C를 배울 수는 있을 것이다. 그러나 C언어의 경험이 없다면 이 책의 부록 “다른 언어에서 오브젝티브-C로” 부분을 살펴보거나 C언어 기초 도서를 읽어보는 것도 이 책을 학습하는 데 도움이 될 것이다.
해커의 언어, 치명적 파이썬 (2) | 2013.02.13 |
---|---|
실전 SQL Server MVP 61: 그 두 번째 이야기 (0) | 2013.01.04 |
리눅스 커맨드라인 완벽 입문서 (7) | 2012.12.27 |
댓글 영역