장바구니 담기 close

장바구니에 상품을 담았습니다.

스위프트 4 프로토콜지향 프로그래밍

스위프트 4 프로토콜지향 프로그래밍

  • 존호프만
  • |
  • 에이콘출판
  • |
  • 2018-10-31 출간
  • |
  • 288페이지
  • |
  • 188 X 235 X 16 mm
  • |
  • ISBN 9791161752280
판매가

25,000원

즉시할인가

22,500

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
22,500

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평




★ 이 책에서 다루는 내용 ★
■ 객체지향 프로그래밍과 프로토콜지향 프로그래밍간의 차이점
■ 스위프트에서 제공하는 서로 다른 타입 비교 및 위험 사항
■ 제네릭과 제네릭 프로그래밍에 대한 집중 탐구
■ 커스텀 타입에서 Copy-On-Write를 구현하는 방법
■ 프로토콜지향 방식으로 여러 디자인 패턴 구현
■ 프로토콜을 우선으로 한 애플리케이션 설계 및 타입 구현

★ 이 책의 대상 독자 ★
적어도 스위프트 프로그래밍 언어에 대한 기본 지식이 있고 프로토콜지향 프로그래밍이 무엇인지를 이해하고자 하는 개발자를 대상으로 한다. 또한 프로그래밍 패러다임의 다른 요소를 완전히 이해하고자 하는 개발자를 위해 집필했다. 모든 장에서는 해당 주제를 완전히 이해할 수 있도록 이를 적절히 구현하는 방법을 보여주는 예제 코드를 작성했으며, 이는 내용을 뒷받침하기 때문에 코드를 보고 작성하는 개발자에게도 안성맞춤이다.

1장, ‘프로토콜 시작’에서는 프로토콜이란 무엇이며, 스위프트 프로그래밍 언어에서 프로토콜이 어떻게 사용되는지를 살펴본다. 또한 매우 유연하면서도 재사용이 가능한 코드를 작성할 때 프로토콜을 어떻게 사용할 수 있는지도 살펴본다.
2장, ‘타입 선택’에서는 스위프트가 제공하는 여러 가지 타입(구조체, 클래스, 열거형, 튜플)에 관해 알아본다. 어떤 상황에서 다양한 타입을 사용하는지에 대한 예와 어떤 상황에서 사용하지 않는지에 대한 예도 살펴본다.
3장, ‘확장’에서는 확장과 프로토콜 확장이 어떻게 스위프트 프로그래밍 언어와 함께 사용되는지 살펴본다. 그리고 어떻게 확장이 프로토콜지향 프로그래밍과 사용될 수 있는지에 대한 예도 살펴본다.
4장, ‘제네릭’에서는 제네릭이 얼마나 강력한지를 보여준다. 애플은 제네릭이 스위프트의 가장 강력한 기능 중 하나라고 이야기해왔다. 따라서 매우 유연한 타입을 만들기 위해 제네릭을 사용하는 방법을 알아보며, 커스텀 타입을 위한 Copy-on-Write 기능을 구현하는 방법도 살펴본다.
5장, ‘객체지향 프로그래밍’에서는 객체지향 접근법을 사용해 비디오 게임의 캐릭터를 어떻게 개발할 수 있는지 알아본다. 프로토콜지향 프로그래밍에 담긴 개념의 진정한 진가를 알아보려면 프로토콜지향 프로그래밍이 해결하고자 하는 문제점을 이해해야만 한다.
6장, ‘프로토콜지향 프로그래밍’에서는 5장과 동일한 비디오 게임 캐릭터를 개발하는 대신, 설계 시에 프로토콜지향 접근법을 채용한다. 그런 다음 프로토콜지향 접근법이 제공하는 장점을 살펴보기 위해 객체지향 접근법과 프로토콜지향 접근법을 비교해본다.
7장, ‘스위프트에서 디자인 패턴 적용’에서는 프로토콜지향 프로그래밍을 사용해 몇 가지 디자인 패턴을 구현하는 것을 살펴본다. 각각의 디자인 패턴에 대해 디자인 패턴이 해결하고자 하는 문제점을 살펴보고 패턴을 구현하는 방법을 살펴본다.
8장, ‘사례 연구’에서는 두 가지 사례 연구를 살펴본다. 현업에서 프로토콜지향 프로그래밍을 사용하는 방법을 독자에게 보여주기 위해 1장부터 6장까지의 모든 내용을 종합해 구성했다.

[역자의 말]
스위프트는 Mac과 iOS 앱 개발에 있어 오브젝티브C를 대체하는 언어로 빠르게 자리 잡았다. 그와 동시에 사용자의 니즈에 빠르게 대응해 변화하고 있으며, 프로토콜지향 프로그래밍 패러다임 역시 이러한 흐름에 맞춰 변화해 왔다. 특히 제네릭이 강화되면서 프로토콜지향 프로그래밍 역시 더욱 유연해지고 확장성 있는 패러다임으로 발전하게 됐다. 3판에서는 개선된 스위프트의 내용을 반영해 1판에서 소개하지 못했던 제네릭이 추가됐고 예제 역시 상황에 맞게 개선됐다.
개발을 하다 보면 객체지향 프로그래밍만으로는 해결하기 어려운 문제를 종종 마주치게 된다. 이 책에서는 프로토콜지향 프로그래밍에 대한 내용을 이야기하는 것뿐만 아니라, 기존 객체지향 프로그래밍과 어떠한 차이가 있는지, 객체지향 프로그래밍에서 해결하기 어려웠던 문제를 프로토콜지향 프로그래밍에서는 어떤 방식으로 해결했는지를 설명한다. 또한 다양한 예제를 통해 새로운 패러다임을 자연스럽게 체득할 수 있게 했다.


목차


1장. 프로토콜 시작
__프로토콜 문법
____프로토콜 정의
____프로퍼티 요구 사항
____메소드 요구 사항
____선택 가능한 요구 사항
__프로토콜 상속
__프로토콜 컴포지션
__프로토콜을 타입으로 사용
__프로토콜과 다형성
__프로토콜과 형 변환
__연관 타입과 프로토콜
__델리게이션
__프로토콜을 사용해 설계
__스위프트 표준 라이브러리의 프로토콜
__요약

2장. 타입 선택
__클래스
__구조체
__접근 제어
__열거형
__튜플
__프로토콜
__값 타입과 참조 타입
__참조 타입만을 위한 재귀적 데이터 타입
__참조 타입만을 위한 상속
__다이내믹 디스패치
__스위프트 내장 타입
__Copy-on-write
__요약

3장. 확장
__확장 정의
__프로토콜 확장
__문장 유효성
__스위프트 표준 라이브러리 확장
__Equatable 프로토콜 따르기
__요약

4장. 제네릭
__제네릭 함수
__제네릭 타입 제약
__제네릭 타입
__연관 타입
__제네릭 서브스크립트
__Copy-on-write
__프로토콜지향 설계 방식에서의 제네릭
__스위프트 표준 라이브러리와 제네릭
__요약

5장. 객체지향 프로그래밍
__객체지향 프로그래밍
__샘플 코드를 위한 요구 사항
__객체지향 프로그래밍 언어로서의 스위프트
__객체지향 설계 방식의 문제점
__요약

6장. 프로토콜지향 프로그래밍
__샘플 코드를 위한 요구 사항
__프로토콜지향 프로그래밍 언어로서의 스위프트
__프로토콜지향 프로그래밍과 객체지향 프로그래밍 요약
__객체지향 프로그래밍과 프로토콜지향 프로그래밍의 차이점
____프로토콜, 프로토콜 확장과 슈퍼클래스 비교
____이동수단 타입 구현
____값 타입과 참조 타입 사용
__승자는…
__요약

7장. 스위프트에서 디자인 패턴 적용
__디자인 패턴이란?
__생성 패턴
____싱글턴 패턴
____빌더 디자인 패턴
____팩토리 메소드 패턴
__구조 디자인 패턴
____브리지 패턴
____퍼사드 패턴
____프록시 디자인 패턴
__행위 디자인 패턴
____커맨드 디자인 패턴
____스트래티지 패턴
____옵저버 패턴
__요약

8장. 사례 연구
__로깅 서비스
____요구 사항
____설계
____결론
__데이터 접근 계층
____요구 사항
____설계
____데이터 모델 계층
____데이터 도우미 계층
____브리지 계층
____데이터 접근 계층 사용
____결론
__요약

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 : 070-4821-5101
교환/반품주소
  • 부산광역시 부산진구 중앙대로 856 303호 / (주)스터디채널 / 전화 : 070-4821-5101
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.