책 소개
▣ 작가 소개
저자 : 김정
애플 개발자 커뮤니티 OSXDev 운영진으로 애플 기술 에반젤리스트를 꿈꾸고 있다. 현재 소프트웨어 교육 스타트업 코드스쿼드 대표이며, NEXT에서 모바일 교수를 겸하고 있다. 20년 전 취미로 맥 개발을 시작했는데 이제는 본업이 되어 버렸다. 『Xcode4』(2011, 인사이트)를 저술하고 『아이폰 해킹』(2010, 인피니티북스), 『iOS와 안드로이드를 위한 HTML5』(2012, 지앤선),『iOS와 OS X 메모리 관리와 멀티스레딩 기법』(2013, 지앤선)을 번역했으며, 강연과 컨설팅 활동도 활발하게 하고 있다.
▣ 주요 목차
1부 객체 중심 프로그래밍
1장 객체
1.1 클래스와 객체 인스턴스
1.1.1 객체에 대한 철학
1.1.2 객체 중심 프로그래밍
1.1.3 오브젝티브-C 객체
1.1.4 오브젝티브-C 2.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.3 is-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.1 ARC(자동 참조 계산)
3.1.1 수동 참조 계산 방식과 비교
3.1.2 ARC 규칙
3.1.3 소유권 수식어
3.1.4 타입 연결
3.1.5 프로퍼티와 인스턴스 변수
3.1.6 요약
3.2 ARC 구현 방식
3.2.1 강한 참조
3.2.2 자동 반환용 리턴 값
3.2.3 약한 참조
3.2.4 자동 반환 방식
3.2.5 요약
4장 객체 복사
4.1 NSCopying 계열 프로토콜
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.2 MVC(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.6 AnyObject
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 요약
저자 : 김정
애플 개발자 커뮤니티 OSXDev 운영진으로 애플 기술 에반젤리스트를 꿈꾸고 있다. 현재 소프트웨어 교육 스타트업 코드스쿼드 대표이며, NEXT에서 모바일 교수를 겸하고 있다. 20년 전 취미로 맥 개발을 시작했는데 이제는 본업이 되어 버렸다. 『Xcode4』(2011, 인사이트)를 저술하고 『아이폰 해킹』(2010, 인피니티북스), 『iOS와 안드로이드를 위한 HTML5』(2012, 지앤선),『iOS와 OS X 메모리 관리와 멀티스레딩 기법』(2013, 지앤선)을 번역했으며, 강연과 컨설팅 활동도 활발하게 하고 있다.
▣ 주요 목차
1부 객체 중심 프로그래밍
1장 객체
1.1 클래스와 객체 인스턴스
1.1.1 객체에 대한 철학
1.1.2 객체 중심 프로그래밍
1.1.3 오브젝티브-C 객체
1.1.4 오브젝티브-C 2.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.3 is-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.1 ARC(자동 참조 계산)
3.1.1 수동 참조 계산 방식과 비교
3.1.2 ARC 규칙
3.1.3 소유권 수식어
3.1.4 타입 연결
3.1.5 프로퍼티와 인스턴스 변수
3.1.6 요약
3.2 ARC 구현 방식
3.2.1 강한 참조
3.2.2 자동 반환용 리턴 값
3.2.3 약한 참조
3.2.4 자동 반환 방식
3.2.5 요약
4장 객체 복사
4.1 NSCopying 계열 프로토콜
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.2 MVC(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.6 AnyObject
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 요약
01. 반품기한
- 단순 변심인 경우 : 상품 수령 후 7일 이내 신청
- 상품 불량/오배송인 경우 : 상품 수령 후 3개월 이내, 혹은 그 사실을 알게 된 이후 30일 이내 반품 신청 가능
02. 반품 배송비
반품사유 | 반품 배송비 부담자 |
---|---|
단순변심 | 고객 부담이며, 최초 배송비를 포함해 왕복 배송비가 발생합니다. 또한, 도서/산간지역이거나 설치 상품을 반품하는 경우에는 배송비가 추가될 수 있습니다. |
고객 부담이 아닙니다. |
03. 배송상태에 따른 환불안내
진행 상태 | 결제완료 | 상품준비중 | 배송지시/배송중/배송완료 |
---|---|---|---|
어떤 상태 | 주문 내역 확인 전 | 상품 발송 준비 중 | 상품이 택배사로 이미 발송 됨 |
환불 | 즉시환불 | 구매취소 의사전달 → 발송중지 → 환불 | 반품회수 → 반품상품 확인 → 환불 |
04. 취소방법
- 결제완료 또는 배송상품은 1:1 문의에 취소신청해 주셔야 합니다.
- 특정 상품의 경우 취소 수수료가 부과될 수 있습니다.
05. 환불시점
결제수단 | 환불시점 | 환불방법 |
---|---|---|
신용카드 | 취소완료 후, 3~5일 내 카드사 승인취소(영업일 기준) | 신용카드 승인취소 |
계좌이체 |
실시간 계좌이체 또는 무통장입금 취소완료 후, 입력하신 환불계좌로 1~2일 내 환불금액 입금(영업일 기준) |
계좌입금 |
휴대폰 결제 |
당일 구매내역 취소시 취소 완료 후, 6시간 이내 승인취소 전월 구매내역 취소시 취소 완료 후, 1~2일 내 환불계좌로 입금(영업일 기준) |
당일취소 : 휴대폰 결제 승인취소 익월취소 : 계좌입금 |
포인트 | 취소 완료 후, 당일 포인트 적립 | 환불 포인트 적립 |
06. 취소반품 불가 사유
- 단순변심으로 인한 반품 시, 배송 완료 후 7일이 지나면 취소/반품 신청이 접수되지 않습니다.
- 주문/제작 상품의 경우, 상품의 제작이 이미 진행된 경우에는 취소가 불가합니다.
- 구성품을 분실하였거나 취급 부주의로 인한 파손/고장/오염된 경우에는 취소/반품이 제한됩니다.
- 제조사의 사정 (신모델 출시 등) 및 부품 가격변동 등에 의해 가격이 변동될 수 있으며, 이로 인한 반품 및 가격보상은 불가합니다.
- 뷰티 상품 이용 시 트러블(알러지, 붉은 반점, 가려움, 따가움)이 발생하는 경우 진료 확인서 및 소견서 등을 증빙하면 환불이 가능하지만 이 경우, 제반 비용은 고객님께서 부담하셔야 합니다.
- 각 상품별로 아래와 같은 사유로 취소/반품이 제한 될 수 있습니다.
상품군 | 취소/반품 불가사유 |
---|---|
의류/잡화/수입명품 | 상품의 택(TAG) 제거/라벨 및 상품 훼손으로 상품의 가치가 현저히 감소된 경우 |
계절상품/식품/화장품 | 고객님의 사용, 시간경과, 일부 소비에 의하여 상품의 가치가 현저히 감소한 경우 |
가전/설치상품 | 전자제품 특성 상, 정품 스티커가 제거되었거나 설치 또는 사용 이후에 단순변심인 경우, 액정화면이 부착된 상품의 전원을 켠 경우 (상품불량으로 인한 교환/반품은 AS센터의 불량 판정을 받아야 합니다.) |
자동차용품 | 상품을 개봉하여 장착한 이후 단순변심의 경우 |
CD/DVD/GAME/BOOK등 | 복제가 가능한 상품의 포장 등을 훼손한 경우 |
상품의 시리얼 넘버 유출로 내장된 소프트웨어의 가치가 감소한 경우 | |
노트북, 테스크탑 PC 등 | 홀로그램 등을 분리, 분실, 훼손하여 상품의 가치가 현저히 감소하여 재판매가 불가할 경우 |