스위프트 4: 프로토콜지향 프로그래밍
도서+사은품 또는 도서+사은품+교보Only(교보굿즈)
15,000원 미만 시 2,500원 배송비 부과
20,000원 미만 시 2,500원 배송비 부과
15,000원 미만 시 2,500원 배송비 부과
1Box 기준 : 도서 10권
로그아웃 : '서울시 종로구 종로1' 주소 기준
이달의 꽃과 함께 책을 받아보세요!
1권 구매 시 결제 단계에서 적용 가능합니다.
알림 신청하시면 원하시는 정보를
받아 보실 수 있습니다.
이 책의 이벤트
해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.
키워드 Pick
키워드 Pick 안내
관심 키워드를 주제로 다른 연관 도서를 다양하게 찾아 볼 수 있는 서비스로, 클릭 시 관심 키워드를 주제로 한 다양한 책으로 이동할 수 있습니다.
키워드는 최근 많이 찾는 순으로 정렬됩니다.
작가정보
저자(글) 존 호프만
존 호프만(Jon Hoffman)
정보통신 기술 분야에서 25년이 넘는 경력을 쌓았다. 20년이 넘게 시스템 관리, 네트워크 관리, 네트워크 보안, 애플리케이션 개발과 설계 분야에서 근무해왔다. 현재 신테크 시스템즈(Syn-Tech Systems)에서 시니어 소프트웨어 엔지니어로 근무 중이다.
2008년부터 iOS 플랫폼으로 다양한 제품을 개발했으며, 그중 몇 가지는 앱 스토어에 등록된 앱이고, 서드파티와 여러 엔터프라이즈 애플리케이션도 포함돼 있다. 또한 안드로이드와 윈도우 플랫폼에 대한 모바일 애플리케이션도 개발해왔다. 정보통신 기술 분야에서의 도전이야말로 삶의 원동력이며, 이러한 도전을 이겨내는 것을 최고의 기쁨으로 여긴다.
다른 관심사로는 가족과 함께 시간을 보내거나 로봇 프로젝트와 3D 프린팅이 있다. 또한 태권도를 진정으로 즐기며, 2014년 초에는 큰 딸인 케일리(Kailey)와 함께 검은 띠를 따기도 했다. 2014년 겨울에는 아내인 킴(Kim)이 검은 띠를 땄으며, 최근에는 막내 딸이 검은 띠를 따려고 노력하고 있다.
번역 강경구
iOS 애플리케이션 개발자로 일하고 있으며, 새로운 기술이나 언어에 관심이 많다. 여러 패러다임을 실무에 적용하고자 노력하고 있으며, 이러한 노하우를 여러 개발자들과 함께 이야기하고 교류하고자 노력하고 있다.
작가의 말
이 책은 프로토콜지향 프로그래밍에 관한 책이다. 애플은 2015년 세계 개발자 회의(WWDC)에서 스위프트 2를 소개하면서, 스위프트는 세계 최초의 프로토콜지향 프로그래밍 언어라고 발표했다. 이러한 이름에서 유추할 수 있듯이 프로토콜이 프로토콜지향 프로그래밍의 전부일 것이라고 생각할 수 있지만, 이는 잘못된 생각이다. 프로토콜지향 프로그래밍은 단지 프로토콜뿐만이 아닌 더 많은 것을 포함하고 있다. 프로토콜지향 프로그래밍은 애플리케이션을 개발하는 새로운 방법일 뿐만 아니라 애플리케이션 설계에 대해 어떻게 생각해야 하는지에 관한 새로운 방법이기도 하다.
1장에서 4장까지는 프로토콜지향 프로그래밍 패러다임의 각각의 요소에 대해 자세히 살펴본다. 프로토콜지향 프로그래밍의 서로 다른 요소에 대해 확실하게 이해할 수 있도록 구성해서 여러분은 애플리케이션에서 이러한 요소를 어떻게 사용할 수 있는지 알 수 있을 것이다. 프로토콜지향 프로그래밍에 관한 가장 큰 오해 중 하나는, 이는 그저 객체지향 프로그래밍의 또 다른 이름에 불과한 것이 아니냐는 것이다. 5장과 6장에서는 어떠한 점에서 유사하고 다른지를 살펴보기 위해 프로토콜지향 프로그래밍과 객체지향 프로그래밍을 비교함으로써 이러한 미신에 맞서본다. 또한 두 프로그래밍 패러다임의 장단점에 대해서도 이야기해본다.
마지막 2개 장은 독자가 프로토콜지향 프로그래밍 방식을 사용해 애플리케이션을 어떻게 설계할 수 있는지에 대해 이해하는 데 도움을 주기 위해 쓰였다. 7장에서는 프로토콜지향 방식으로 몇 가지 디자인 패턴을 어떻게 구현할 수 있는지를 알아보며, 8장에서는 앞서 책에서 다뤘던 모든 내용을 보강하기 위해 두 가지 실제 사례 연구에 대해 살펴본다.
목차
- 1장. 프로토콜 시작
프로토콜 문법
프로토콜 정의
프로퍼티 요구 사항
메소드 요구 사항
선택 가능한 요구 사항
프로토콜 상속
프로토콜 컴포지션
프로토콜을 타입으로 사용
프로토콜과 다형성
프로토콜과 형 변환
연관 타입과 프로토콜
델리게이션
프로토콜을 사용해 설계
스위프트 표준 라이브러리의 프로토콜
요약
2장. 타입 선택
클래스
구조체
접근 제어
열거형
튜플
프로토콜
값 타입과 참조 타입
참조 타입만을 위한 재귀적 데이터 타입
참조 타입만을 위한 상속
다이내믹 디스패치
스위프트 내장 타입
Copy-on-write
요약
3장. 확장
확장 정의
프로토콜 확장
문장 유효성
스위프트 표준 라이브러리 확장
Equatable 프로토콜 따르기
요약
4장. 제네릭
제네릭 함수
제네릭 타입 제약
제네릭 타입
연관 타입
제네릭 서브스크립트
Copy-on-write
프로토콜지향 설계 방식에서의 제네릭
스위프트 표준 라이브러리와 제네릭
요약
5장. 객체지향 프로그래밍
객체지향 프로그래밍
샘플 코드를 위한 요구 사항
객체지향 프로그래밍 언어로서의 스위프트
객체지향 설계 방식의 문제점
요약
6장. 프로토콜지향 프로그래밍
샘플 코드를 위한 요구 사항
프로토콜지향 프로그래밍 언어로서의 스위프트
프로토콜지향 프로그래밍과 객체지향 프로그래밍 요약
객체지향 프로그래밍과 프로토콜지향 프로그래밍의 차이점
프로토콜, 프로토콜 확장과 슈퍼클래스 비교
이동수단 타입 구현
값 타입과 참조 타입 사용
승자는…
요약
7장. 스위프트에서 디자인 패턴 적용
디자인 패턴이란?
생성 패턴
싱글턴 패턴
빌더 디자인 패턴
팩토리 메소드 패턴
구조 디자인 패턴
브리지 패턴
퍼사드 패턴
프록시 디자인 패턴
행위 디자인 패턴
커맨드 디자인 패턴
스트래티지 패턴
옵저버 패턴
요약
8장. 사례 연구
로깅 서비스
요구 사항
설계
결론
데이터 접근 계층
요구 사항
설계
데이터 모델 계층
데이터 도우미 계층
브리지 계층
데이터 접근 계층 사용
결론
요약
출판사 서평
★ 이 책에서 다루는 내용 ★
■ 객체지향 프로그래밍과 프로토콜지향 프로그래밍간의 차이점
■ 스위프트에서 제공하는 서로 다른 타입 비교 및 위험 사항
■ 제네릭과 제네릭 프로그래밍에 대한 집중 탐구
■ 커스텀 타입에서 Copy-On-Write를 구현하는 방법
■ 프로토콜지향 방식으로 여러 디자인 패턴 구현
■ 프로토콜을 우선으로 한 애플리케이션 설계 및 타입 구현
★ 이 책의 대상 독자 ★
적어도 스위프트 프로그래밍 언어에 대한 기본 지식이 있고 프로토콜지향 프로그래밍이 무엇인지를 이해하고자 하는 개발자를 대상으로 한다. 또한 프로그래밍 패러다임의 다른 요소를 완전히 이해하고자 하는 개발자를 위해 집필했다. 모든 장에서는 해당 주제를 완전히 이해할 수 있도록 이를 적절히 구현하는 방법을 보여주는 예제 코드를 작성했으며, 이는 내용을 뒷받침하기 때문에 코드를 보고 작성하는 개발자에게도 안성맞춤이다.
1장, ‘프로토콜 시작’에서는 프로토콜이란 무엇이며, 스위프트 프로그래밍 언어에서 프로토콜이 어떻게 사용되는지를 살펴본다. 또한 매우 유연하면서도 재사용이 가능한 코드를 작성할 때 프로토콜을 어떻게 사용할 수 있는지도 살펴본다.
2장, ‘타입 선택’에서는 스위프트가 제공하는 여러 가지 타입(구조체, 클래스, 열거형, 튜플)에 관해 알아본다. 어떤 상황에서 다양한 타입을 사용하는지에 대한 예와 어떤 상황에서 사용하지 않는지에 대한 예도 살펴본다.
3장, ‘확장’에서는 확장과 프로토콜 확장이 어떻게 스위프트 프로그래밍 언어와 함께 사용되는지 살펴본다. 그리고 어떻게 확장이 프로토콜지향 프로그래밍과 사용될 수 있는지에 대한 예도 살펴본다.
4장, ‘제네릭’에서는 제네릭이 얼마나 강력한지를 보여준다. 애플은 제네릭이 스위프트의 가장 강력한 기능 중 하나라고 이야기해왔다. 따라서 매우 유연한 타입을 만들기 위해 제네릭을 사용하는 방법을 알아보며, 커스텀 타입을 위한 Copy-on-Write 기능을 구현하는 방법도 살펴본다.
5장, ‘객체지향 프로그래밍’에서는 객체지향 접근법을 사용해 비디오 게임의 캐릭터를 어떻게 개발할 수 있는지 알아본다. 프로토콜지향 프로그래밍에 담긴 개념의 진정한 진가를 알아보려면 프로토콜지향 프로그래밍이 해결하고자 하는 문제점을 이해해야만 한다.
6장, ‘프로토콜지향 프로그래밍’에서는 5장과 동일한 비디오 게임 캐릭터를 개발하는 대신, 설계 시에 프로토콜지향 접근법을 채용한다. 그런 다음 프로토콜지향 접근법이 제공하는 장점을 살펴보기 위해 객체지향 접근법과 프로토콜지향 접근법을 비교해본다.
7장, ‘스위프트에서 디자인 패턴 적용’에서는 프로토콜지향 프로그래밍을 사용해 몇 가지 디자인 패턴을 구현하는 것을 살펴본다. 각각의 디자인 패턴에 대해 디자인 패턴이 해결하고자 하는 문제점을 살펴보고 패턴을 구현하는 방법을 살펴본다.
8장, ‘사례 연구’에서는 두 가지 사례 연구를 살펴본다. 현업에서 프로토콜지향 프로그래밍을 사용하는 방법을 독자에게 보여주기 위해 1장부터 6장까지의 모든 내용을 종합해 구성했다.
[역자의 말]
스위프트는 Mac과 iOS 앱 개발에 있어 오브젝티브C를 대체하는 언어로 빠르게 자리 잡았다. 그와 동시에 사용자의 니즈에 빠르게 대응해 변화하고 있으며, 프로토콜지향 프로그래밍 패러다임 역시 이러한 흐름에 맞춰 변화해 왔다. 특히 제네릭이 강화되면서 프로토콜지향 프로그래밍 역시 더욱 유연해지고 확장성 있는 패러다임으로 발전하게 됐다. 3판에서는 개선된 스위프트의 내용을 반영해 1판에서 소개하지 못했던 제네릭이 추가됐고 예제 역시 상황에 맞게 개선됐다.
개발을 하다 보면 객체지향 프로그래밍만으로는 해결하기 어려운 문제를 종종 마주치게 된다. 이 책에서는 프로토콜지향 프로그래밍에 대한 내용을 이야기하는 것뿐만 아니라, 기존 객체지향 프로그래밍과 어떠한 차이가 있는지, 객체지향 프로그래밍에서 해결하기 어려웠던 문제를 프로토콜지향 프로그래밍에서는 어떤 방식으로 해결했는지를 설명한다. 또한 다양한 예제를 통해 새로운 패러다임을 자연스럽게 체득할 수 있게 했다.
기본정보
ISBN | 9791161752280 | ||
---|---|---|---|
발행(출시)일자 | 2018년 10월 31일 | ||
쪽수 | 292쪽 | ||
크기 |
189 * 235
* 22
mm
/ 684 g
|
||
총권수 | 1권 | ||
원서(번역서)명/저자명 | Swift 4 Protocol-Oriented Programming/Hoffman, Jon |
Klover
구매 후 리뷰 작성 시, e교환권 200원 적립
문장수집 (0)
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.
판매가 5,000원 미만 상품의 경우 리워드 지급 대상에서 제외됩니다. (2024년 9월 30일부터 적용)
구매 후 리뷰 작성 시, e교환권 100원 적립
-
반품/교환방법
* 오픈마켓, 해외배송 주문, 기프트 주문시 [1:1 상담>반품/교환/환불] 또는 고객센터 (1544-1900) -
반품/교환가능 기간
상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내 -
반품/교환비용
-
반품/교환 불가 사유
(단지 확인을 위한 포장 훼손은 제외)
2) 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
예) 화장품, 식품, 가전제품(악세서리 포함) 등
3) 복제가 가능한 상품 등의 포장을 훼손한 경우
예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
4) 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우 ((1)해외주문도서)
5) 디지털 컨텐츠인 ebook, 오디오북 등을 1회이상 ‘다운로드’를 받았거나 '바로보기'로 열람한 경우
6) 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
7) 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
8) 세트상품 일부만 반품 불가 (필요시 세트상품 반품 후 낱권 재구매)
9) 기타 반품 불가 품목 - 잡지, 테이프, 대학입시자료, 사진집, 방통대 교재, 교과서, 만화, 미디어전품목, 악보집, 정부간행물, 지도, 각종 수험서, 적성검사자료, 성경, 사전, 법령집, 지류, 필기구류, 시즌상품, 개봉한 상품 등 -
상품 품절
-
소비자 피해보상 환불 지연에 따른 배상
2) 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함
상품 설명에 반품/교환 관련한 안내가 있는 경우 그 내용을 우선으로 합니다. (업체 사정에 따라 달라질 수 있습니다.)