상세 컨텐츠

본문 제목

오브젝티브-C 2판: iOS와 맥 OS X 개발을 위한

전체 출간 도서

by 비제이퍼블릭 2013. 2. 5. 16:18

본문

 

 

 

iOS와 맥 OS X 개발을 위한

 

              오브젝티브-C (2판)

 

 

저자: 마크 달림플, 스콧 내스터, 와카르 말릭

역자: 이종웅, 김기훈

출간예정일: 2013222()

정가: 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장) 다운로드

오브젝티브-C 2판 샘플 2장.pdf

 

 

책 소개

 

프로들이 만든 프로들을 위한 책

 

이 책으로 최근 가장 인기 있는 아이폰, 아이패드, 매킨토시용 앱을 만들어보자. 이 책은 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언어 기초 도서를 읽어보는 것도 이 책을 학습하는 데 도움이 될 것이다.

관련글 더보기

댓글 영역