본문 바로가기

추천 검색어

실시간 인기 검색어

스위프트 프로그래밍: Swift 5

객체지향, 함수형, 프로토콜 지향 패러다임까지 한 번에!
야곰 지음
한빛미디어

2019년 10월 29일 출간

종이책 : 2019년 10월 01일 출간

(개의 리뷰)
( 0% 의 구매자)
eBook 상품 정보
파일 정보 pdf (5.40MB)
ISBN 9791162248331
쪽수 580쪽
지원기기 교보eBook App, PC e서재, 리더기, 웹뷰어
교보eBook App 듣기(TTS) 가능
TTS 란?
텍스트를 음성으로 읽어주는 기술입니다.
  • 전자책의 편집 상태에 따라 본문의 흐름과 다르게 텍스트를​ 읽을 수 있습니다.
  • 전자책 화면에 표기된 주석 등을 모두 읽어 줍니다.
  • 이미지 형태로 제작된 전자책 (예 : ZIP 파일)은 TTS 기능을 지원하지 않습니다.
  • '교보 ebook' 앱을 최신 버전으로 설치해야 이용 가능합니다. (Android v3. 0.26, iOS v3.0.09,PC v1.2 버전 이상)

PDF 필기 Android 가능 (iOS예정)
소득공제
소장
정가 : 25,600원

쿠폰적용가 23,040

10% 할인 | 5%P 적립

이 상품은 배송되지 않는 디지털 상품이며,
교보eBook앱이나 웹뷰어에서 바로 이용가능합니다.

카드&결제 혜택

  • 5만원 이상 구매 시 추가 2,000P
  • 3만원 이상 구매 시, 등급별 2~4% 추가 최대 416P
  • 리뷰 작성 시, e교환권 추가 최대 300원

작품소개

이 상품이 속한 분야

문법을 넘어 프로그래밍 패러다임도 익히는 스위프트 5
스위프트 5의 핵심 키워드는 ‘안정화’다. ABI 안정화 덕분에 버전과 환경에 크게 영향받지 않고 더 유연하게 스위프트를 사용할 수 있게 되었다. 최신 패러다임과 다양한 언어의 기능을 흡수하여 언어 전반에 걸쳐 안정화되었다. 기존 스위프트 업데이트의 주된 목적이 새로운 기능 추가였다면, 이번 스위프트 5는 비약적으로 발전한 기능을 세세하게 보정하고 다듬었다. 그렇다고 굵직한 변화가 없는 것은 아니다. 스위프트 언어의 발전은 여전히 현재 진행형이다.

스위프트 프로그래밍 핵심 패러다임 기반으로 설명
스위프트에는 함수형과 프로토콜 지향 프로그래밍 기법이 포함되어 있다. 이 책은 이 두 가지 패러다임에 맞춰 스위프트로 프로그래밍하는 방법을 설명한다. 스위프트 문법과 프로그래밍 패러다임을 함께 이 해하고 싶다면 이 책은 큰 도움이 될 것이다.
[PART I 스위프트 기초]

CHAPTER 1 스위프트
__1.1 스위프트의 역사
__1.2 스위프트의 언어적 특성
__1.3 스위프트 실행 환경

CHAPTER 2 스위프트 처음 시작하기
__2.1 기본 명명 규칙
__2.2 콘솔 로그
__2.3 주석
__2.4 변수와 상수

CHAPTER 3 데이터 타입 기본
__3.1 Int와 UInt
__3.2 Bool
__3.3 Float과 Double
__3.4 Character
__3.5 String
__3.6 Any, AnyObject와 nil

CHAPTER 4 데이터 타입 고급
__4.1 데이터 타입 안심
__4.2 타입 별칭
__4.3 튜플
__4.4 컬렉션형
__4.5 열거형

CHAPTER 5 연산자
__5.1 연산자의 종류
__5.2 연산자 우선순위와 결합방향
__5.3 사용자 정의 연산자

CHAPTER 6 흐름 제어
__6.1 조건문
__6.2 반복문
__6.3 구문 이름표

CHAPTER 7 함수
__7.1 함수와 메서드
__7.2 함수의 정의와 호출
__7.3 중첩 함수
__7.4 종료되지 않는 함수
__7.5 반환 값을 무시할 수 있는 함수

CHAPTER 8 옵셔널
__8.1 옵셔널 사용
__8.2 옵셔널 추출

[PART II 객체지향 프로그래밍과 스위프트]

CHAPTER 9 구조체와 클래스
__9.1 구조체
__9.2 클래스
__9.3 구조체와 클래스의 차이
__9.4 구조체와 클래스 선택해서 사용하기

CHAPTER 10 프로퍼티와 메서드
__10.1 프로퍼티
__10.2 메서드

CHAPTER 11 인스턴스 생성 및 소멸
__11.1 인스턴스 생성
__11.2 인스턴스 소멸

CHAPTER 12 접근제어
__12.1 접근제어란
__12.2 접근수준
__12.3 접근제어 구현
__12.4 접근제어 구현 참고사항
__12.5 private와 fileprivate
__12.6 읽기 전용 구현

[PART III 함수형 프로그래밍과 스위프트]

CHAPTER 13 클로저
__13.1 기본 클로저
__13.2 후행 클로저
__13.3 클로저 표현 간소화
__13.4 값 획득
__13.5 클로저는 참조 타입
__13.6 탈출 클로저
__13.7 자동 클로저

CHAPTER 14 옵셔널 체이닝과 빠른 종료
__14.1 옵셔널 체이닝
__14.2 빠른 종료

CHAPTER 15 맵, 필터, 리듀스
__15.1 맵
__15.2 필터
__15.3 리듀스
__15.4 맵, 필터, 리듀스의 활용

CHAPTER 16 모나드
__16.1 컨텍스트
__16.2 함수객체
__16.3 모나드

[PART IV 확장]

CHAPTER 17 서브스크립트
__17.1 서브스크립트 문법
__17.2 서브스크립트 구현
__17.3 복수 서브스크립트
__17.4 타입 서브스크립트

CHAPTER 18 상속
__18.1 클래스 상속
__18.2 재정의
__18.3 클래스의 이니셜라이저 - 상속과 재정의

CHAPTER 19 타입캐스팅
__19.1 기존 언어의 타입 변환과 스위프트의 타입 변환
__19.2 스위프트 타입캐스팅
__19.3 데이터 타입 확인
__19.4 다운캐스팅
__19.5 Any, AnyObject의 타입캐스팅

CHAPTER 20 프로토콜
__20.1 프로토콜이란
__20.2 프로토콜 채택
__20.3 프로토콜 요구사항
__20.4 프로토콜의 상속과 클래스 전용 프로토콜
__20.5 프로토콜 조합과 프로토콜 준수 확인
__20.6 프로토콜의 선택적 요구
__20.7 프로토콜 변수와 상수
__20.8 위임을 위한 프로토콜

CHAPTER 21 익스텐션
__21.1 익스텐션이란
__21.2 익스텐션 문법
__21.3 익스텐션으로 추가할 수 있는 기능

CHAPTER 22 제네릭
__22.1 제네릭 함수
__22.2 제네릭 타입
__22.3 제네릭 타입 확장
__22.4 타입 제약
__22.5 프로토콜의 연관 타입
__22.6 제네릭 서브스크립트

CHAPTER 23 프로토콜 지향 프로그래밍
__23.1 프로토콜 초기구현
__23.2 맵, 필터, 리듀스 직접 구현해보기
__23.3 기본 타입 확장

[PART V 스위프트 고급]

CHAPTER 24 타입 중첩
__24.1 중첩 데이터 타입

CHAPTER 25 패턴
__25.1 와일드카드 패턴
__25.2 식별자 패턴
__25.3 값 바인딩 패턴
__25.4 튜플 패턴
__25.5 열거형 케이스 패턴
__25.6 옵셔널 패턴
__25.7 타입캐스팅 패턴
__25.8 표현 패턴

CHAPTER 26 where 절
__26.1 where 절의 활용

CHAPTER 27 ARC
__27.1 ARC란
__27.2 강한참조
__27.3 약한참조
__27.4 미소유참조
__27.5 미소유참조와 암시적 추출 옵셔널 프로퍼티
__27.6 클로저의 강한참조 순환

CHAPTER 28 오류처리
__28.1 오류처리란
__28.2 오류의 표현
__28.3 오류 포착 및 처리

CHAPTER 29 메모리 안전
__29.1 메모리 접근 충돌의 이해
__29.2 입출력 매개변수에서의 메모리 접근 충돌
__29.3 메서드 내부에서 self 접근의 충돌
__29.4 프로퍼티 접근 중 충돌

CHAPTER 30 불명확 타입

부록
__A. 스위프트의 주요 프로토콜
__B. 스위프트의 주요 함수
__C. 스위프트의 예약어
__D. 디버깅 식별자
__E. 컴파일러 제어 구문
__F. 사용 가능 조건 확인
__G. 속성
__H. 타입 별칭 및 호환 타입
__I. 알아두면 유용한 타입

스위프트를 제대로 이해하고 싶은 개발자를 위한 책
스위프트는 iOS와 macOS용 애플리케이션 개발에 주로 사용하는 프로그래밍 언어입니다. 그런 이유로 보통 스위프트 서적이 출간되면 애플 개발 관련 내용을 중심으로 스위프트를 다룹니다. 하지만 스위프트는 오픈 소스로 공개된 이후 다양한 분야에서 사용하려는 시도가 늘고 있습니다. 이러한 스위프트를 제대로 이해하려면 먼저 스위프트라는 프로그래밍 언어 고유의 특징을 잘 알아야 합니다.
이 책은 ‘스위프트를 제대로 이해하자’라는 콘셉트를 충실히 지키고자 스위프트의 기본 개념과 함께 함수형 및 프로토콜 지향 프로그래밍 패러다임을 이용하는 스위프트 프로그래밍 방법론을 소개합니다. 이러한 방법론을 다양한 예제를 코딩하면서 자연스럽게 익힐 수 있도록 했습니다. 또한 기존 『스위프트 프로그래밍』의 내용을 기반으로 2019년 3월 공개한 스위프트5 스펙에 맞춰 내용을 수정하고 보강했습니다.

★ Part 1. 스위프트 기초
스위프트의 역사와 언어의 특징을 소개하고 스위프트를 이해하는 데 반드시 필요한 최소한의 기본 문법을 설명합니다. 더불어 스위프트 코드를 작성하고 실행하는 IDE인 Xcode에 대한 간략한 개요를 살펴봅니다.

★ Part 2. 객체지향 프로그래밍과 스위프트
스위프트는 함수형 프로그래밍 패러다임을 강조하지만, 그 못지않게 객체지향 프로그래밍 패러다임도 매우 중요합니다. 애플의 프레임워크는 대부분 객체지향 프로그래밍 패러다임에 근간을 두므로 애플이 스위프트에서 객체지향 프로그래밍 패러다임을 배제하기는 어려웠을 겁니다. 따라서 iOS 및 macOS, tvOS, watchOS 등의 플랫폼 위에서 동작하는 애플리케이션을 작성하려면 객체지향 프로그래밍 패러다임에 대한 이해는 필수입니다. 이번에는 스위프트에서 객체지향 프로그래밍 패러다임을 활용할 수 있는 문법을 알아보겠습니다.

★ Part 3. 함수형 프로그래밍과 스위프트
애플은 자사 프레임워크를 모두 객체지향 패러다임으로 구현했습니다. 굳이 새로운 언어에 함수형 프로그래밍 패러다임을 도입할 필요가 없었죠. 하지만 애플은 스위프트를 발표하면서 스위프트를 함수형 프로그래밍 언어라고 표현했습니다. 함수형 프로그래밍은 대규모 병렬처리에 유리한 점, 스레드에 비교적 안전한 점, 콜백 등의 연관처리에 있어서 코드가 분산되는 것을 최소화할 수 있다는 등의 장점이 있습니다. 이런 특성을 객체지향 프로그래밍 패러다임에 더한 스위프트는 훨씬 완성도 높은 프로그래밍 언어로 자리매김할 수 있으리라 봅니다. 기존 애플의 프레임워크에 익숙한 개발자라면 지금부터 함수형 프로그래밍 패러다임의 장점을 익히길 권합니다. 그리고 스위프트의 강력한 기능을 활용하여 기존 객체지향 프로그래밍 패러다임만 사용했을 때 불편했던 부분의 코드를 개선해보도록 합시다.

★ Part 4. 확장
스위프트에서 타입의 기능을 확장하는 방법은 많습니다. 기능이나 속성을 물려받아 수직 확장할 수 있는 상속도 있고, 타입에 기능을 추가하여 수평적으로 확장할 수 있는 익스텐션도 있습니다. 다양한 확장 기법을 통해 타입을 더욱 유용하게 사용할 수 있도록 구성하는 방법을 알아봅시다.

★ Part 5. 스위프트 고급
지금까지는 스위프트의 기본 문법과 기능 위주로 살펴보았습니다. 이번 파트에서는 기본 문법과 더불어 스위프트를 더욱 강력하고 유용하게 사용하도록 도와줄 기능과 문법을 알아보겠습니다. 또한 메모리 관리를 위해 꼭 알아야 할 ARC(Automatic Reference Counting)에 대해 알아보고, 각종 오류를 제어하기 위한 오류처리 기법도 살펴보겠습니다.

★ Etc Part. 동영상 강의도 만나보세요.
다음 3개 사이트에서 이 책의 무료 동영상 강의를 만나볼 수 있습니다.
- GitHub: yagom.github.io/swift_basic/
- 구름EDU: edu.goorm.io/lecture/1141/야곰의-스위프트-프로그래밍
- 인프런: inflearn.com/course/스위프트-기본-문법

★ 대상 독자
- 스위프트를 처음 배우는 현업 프로그래머
- iOS 애플리케이션 개발 입문자
- 기존 프로그래밍과 스위프트의 차이를 알고 싶은 대학생

북 트레일러

작가정보

저자(글) 야곰

yagom’s blog(http://blog.yagom.net)를 운영하는 iOS 개발자. 2010년부터 iOS 관련 개발에 열정을 쏟고 있습니다. iOS, macOS 개발자 커뮤니티인 맥부기(http://cafe.naver.com/mcbugi) 에서 강좌를 연재했고, OSXDev(http://osxdev.org) 커뮤니티 활동도 합니다. 컴퓨터교육을 전공했으며 비전공자와 학생들에게 컴퓨터 지식을 더 쉽고 재미있게 알리는 데 관심이 많아 후배 프로그래머와 지식을 나누는 데도 힘을 쏟고 있습니다. 내일 걱정은 모레 하는 것이 좋다는 긍정적인 마음가짐을 빼면 시체라고 말하며, 스스로 개발자라고 생각하지 않는 것을 보면 괴짜임이 틀림없습니다. 무엇보다 여행과 요리를 좋아합니다.
저서로는 『iOS 7 핵심 노트』, 『iOS 8 핵심 노트』, 『iOS 9 핵심 노트』, 『만들면서 배우는 Swift』, 『스위프트 프로그래밍』(이상 한빛미디어)이 있습니다.

이 상품의 총서

Klover리뷰 (0)

Klover리뷰 안내
Klover(Kyobo-lover)는 교보를 애용해 주시는 고객님들이 남겨주신 평점과 감상을 바탕으로, 다양한 정보를 전달하는 교보문고의 리뷰 서비스입니다.
1. 리워드 안내
구매 후 90일 이내에 평점 작성 시 e교환권 100원을 적립해 드립니다.
  • - e교환권은 적립일로부터 180일 동안 사용 가능합니다.
  • - 리워드는 1,000원 이상 eBook, 오디오북, 동영상에 한해 다운로드 완료 후 리뷰 작성 시 익일 제공됩니다.
  • - 리워드는 한 상품에 최초 1회만 제공됩니다.
  • - sam 이용권 구매 상품 / 선물받은 eBook은 리워드 대상에서 제외됩니다.
2. 운영 원칙 안내
Klover리뷰를 통한 리뷰를 작성해 주셔서 감사합니다. 자유로운 의사 표현의 공간인 만큼 타인에 대한 배려를 부탁합니다. 일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
  • 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
  • 도서와 무관한 내용의 리뷰
  • 인신공격이나 욕설, 비속어, 혐오 발언이 개재된 리뷰
  • 의성어나 의태어 등 내용의 의미가 없는 리뷰

구매 후 리뷰 작성 시, e교환권 100원 적립

문장수집

문장수집 안내
문장수집은 고객님들이 직접 선정한 책의 좋은 문장을 보여 주는 교보문고의 새로운 서비스 입니다. 교보eBook 앱에서 도서 열람 후 문장 하이라이트 하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다. 마음을 두드린 문장들을 기록하고 좋은 글귀들은 ‘좋아요’ 하여 모아보세요. 도서 문장과 무관한 내용 등록 시 별도 통보없이 삭제될 수 있습니다.
리워드 안내
  • 구매 후 90일 이내에 문장 수집 등록 시 e교환권 100원을 적립해 드립니다.
  • e교환권은 적립일로부터 180일 동안 사용 가능합니다.
  • 리워드는 1,000원 이상 eBook에 한해 다운로드 완료 후 문장수집 등록 시 제공됩니다.
  • 리워드는 한 상품에 최초 1회만 제공됩니다.
  • sam 이용권 구매 상품/오디오북·동영상 상품/주문취소/환불 시 리워드 대상에서 제외됩니다.

구매 후 문장수집 작성 시, e교환권 100원 적립

    교보eBook 첫 방문을 환영 합니다!

    신규가입 혜택 지급이 완료 되었습니다.

    바로 사용 가능한 교보e캐시 1,000원 (유효기간 7일)
    지금 바로 교보eBook의 다양한 콘텐츠를 이용해 보세요!

    교보e캐시 1,000원
    TOP
    신간 알림 안내
    스위프트 프로그래밍: Swift 5 웹툰 신간 알림이 신청되었습니다.
    신간 알림 안내
    스위프트 프로그래밍: Swift 5 웹툰 신간 알림이 취소되었습니다.
    리뷰작성
    • 구매 후 90일 이내 작성 시, e교환권 100원 (최초1회)
    • 리워드 제외 상품 : 마이 > 라이브러리 > Klover리뷰 > 리워드 안내 참고
    • 콘텐츠 다운로드 또는 바로보기 완료 후 리뷰 작성 시 익일 제공
    감성 태그

    가장 와 닿는 하나의 키워드를 선택해주세요.

    사진 첨부(선택) 0 / 5

    총 5MB 이하로 jpg,jpeg,png 파일만 업로드 가능합니다.

    신고/차단

    신고 사유를 선택해주세요.
    신고 내용은 이용약관 및 정책에 의해 처리됩니다.

    허위 신고일 경우, 신고자의 서비스 활동이 제한될 수
    있으니 유의하시어 신중하게 신고해주세요.


    이 글을 작성한 작성자의 모든 글은 블라인드 처리 됩니다.

    문장수집 작성

    구매 후 90일 이내 작성 시, e교환권 100원 적립

    eBook 문장수집은 웹에서 직접 타이핑 가능하나, 모바일 앱에서 도서를 열람하여 문장을 드래그하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다.

    P.
    스위프트 프로그래밍: Swift 5
    객체지향, 함수형, 프로토콜 지향 패러다임까지 한 번에!
    저자 모두보기
    저자(글)
    낭독자 모두보기
    sam 이용권 선택
    님이 보유하신 이용권입니다.
    차감하실 sam이용권을 선택하세요.
    sam 이용권 선택
    님이 보유하신 이용권입니다.
    차감하실 sam이용권을 선택하세요.
    sam 이용권 선택
    님이 보유하신 프리미엄 이용권입니다.
    선물하실 sam이용권을 선택하세요.
    결제완료
    e캐시 원 결제 계속 하시겠습니까?
    교보 e캐시 간편 결제
    sam 열람권 선물하기
    • 보유 권수 / 선물할 권수
      0권 / 1
    • 받는사람 이름
      받는사람 휴대전화
    • 구매한 이용권의 대한 잔여권수를 선물할 수 있습니다.
    • 열람권은 1인당 1권씩 선물 가능합니다.
    • 선물한 열람권이 ‘미등록’ 상태일 경우에만 ‘열람권 선물내역’화면에서 선물취소 가능합니다.
    • 선물한 열람권의 등록유효기간은 14일 입니다.
      (상대방이 기한내에 등록하지 않을 경우 소멸됩니다.)
    • 무제한 이용권일 경우 열람권 선물이 불가합니다.
    이 상품의 총서 전체보기
    네이버 책을 통해서 교보eBook 첫 구매 시
    교보e캐시 지급해 드립니다.
    교보e캐시 1,000원
    • 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
    • 한 ID당 최초 1회 지급 / sam 이용권 제외
    • 네이버 책을 통해 교보eBook 구매 이력이 없는 회원 대상
    • 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)
    구글북액션을 통해서 교보eBook
    첫 구매 시 교보e캐시 지급해 드립니다.
    교보e캐시 1,000원
    • 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
    • 한 ID당 최초 1회 지급 / sam 이용권 제외
    • 구글북액션을 통해 교보eBook 구매 이력이 없는 회원 대상
    • 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)