확장메뉴
주요메뉴


닫기
사이즈 비교
소득공제
미리보기 사이즈비교 공유하기

스위프트 프로그래밍

: 객체지향, 함수형, 프로토콜 지향 패러다임까지 한 번에!

[ 3판 ]
리뷰 총점9.2 리뷰 11건 | 판매지수 3,264
베스트
IT 모바일 top100 8주
분철서비스 시작 시 알려드립니다. 분철서비스 알림신청
[대학생X취준생] 우리의 영광의 시대는 1학기입니다
[IT 기획전] IT, 모두의 교양
박해선 저자의 머신러닝/딥러닝 패스
비전공자 출신 프론트엔드 개발자 '임효성'님이 추천하는 개발 입문 책
얼리리더를 위한 3월의 책 : WOOF! WOOF! 책멍이 마그넷 증정
3월의 굿즈 : 산리오캐릭터즈 타포린백/물병파우치/3단우산/미니 토트백/마티스 접시&테이블매트 세트
YES24 트윈링 분철 : 인서트라벨/스티커 택1 증정
소장가치 100% YES24 단독 판매 상품
3월 쇼핑혜택
현대카드
1 2 3 4 5

품목정보

품목정보
발행일 2019년 10월 01일
쪽수, 무게, 크기 580쪽 | 183*235*35mm
ISBN13 9791162242223
ISBN10 1162242221

이 상품의 태그

책소개 책소개 보이기/감추기

상품 이미지를 확대해서 볼 수 있습니다. 원본 이미지

목차 목차 보이기/감추기

[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. 알아두면 유용한 타입

저자 소개 (1명)

출판사 리뷰 출판사 리뷰 보이기/감추기

스위프트를 제대로 이해하고 싶은 개발자를 위한 책

스위프트는 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)에 대해 알아보고, 각종 오류를 제어하기 위한 오류처리 기법도 살펴보겠습니다.

추천평 추천평 보이기/감추기

멀피 패러다임 시대에 필요한, 스위프트다운 프로그래밍 방식을 배울 수 있습니다.
- 김정(godrm)(코드스쿼드 대표, Let'Swift 오거나이저, OSXDev.org 운영진)

이 책은 스위프트 언어를 배우는 바른길을 제시합니다.
- 윤성관(lingostar)((주)코더스하이 대표, Apple Distinguished Educator

예제 하나하나, 독자가 따라갈 수 있도록 신경 쓴 배려가 돋보입니다.
- 서관희(원더스쿼드 대표, 전 손노리 개발 실장, 엔트리브 소프트 대표

현업에서 스위프트를 사용하는 개발자도 레퍼런스로 활용할 수 있을 것입니다.
- 전수열(devxoul)(스타일쉐어 소프트웨어 엔지니어

회원리뷰 (11건) 리뷰 총점9.2

혜택 및 유의사항?
포토리뷰 익숙한 것과 거리 두기 내용 평점4점   편집/디자인 평점4점 낭**니 | 2020.11.22 | 추천0 | 댓글0 리뷰제목
비슷한 게 많을수록 다른 점도 많이 보인다.예전에 우연찮게 봤던 오브젝티브-C 코드, 익숙한 분은 사용하는데 크게 어려운 게 없는 것처럼 말씀하셨지만, 복잡하지 않은 실행문조차 너무 거창하게 느꼈습니다. 개발하신 분의 코딩 스타일을 떠나서 언어 구문 자체가 사용하기에 만만치 않겠다는 느낌이었습니다.스위프트 프로그래밍을 보면서, 그때 보았던 오브젝티브-C에 비하면 스위프;
리뷰제목

비슷한 게 많을수록 다른 점도 많이 보인다.

예전에 우연찮게 봤던 오브젝티브-C 코드, 익숙한 분은 사용하는데 크게 어려운 게 없는 것처럼 말씀하셨지만, 복잡하지 않은 실행문조차 너무 거창하게 느꼈습니다. 개발하신 분의 코딩 스타일을 떠나서 언어 구문 자체가 사용하기에 만만치 않겠다는 느낌이었습니다.

스위프트 프로그래밍을 보면서, 그때 보았던 오브젝티브-C에 비하면 스위프트는 아주 심플하다는 느낌을 받았습니다.

스위프트를 읽어 나가면서 언어 설계자는 아마도 ...
- null 때문에 고생을 많이 했다.
- 비동기 처리하기 너무 불편해했다.
라는 생각이 들었었습니다.
다른 언어에서 아쉬웠거나 불편한 부분을 해소하는 스위프트만의 방식을 만날 수 있습니다.
개발의 편리함을 추구하다 너무 많은 것을 넣어버린 느낌도 살짝 듭니다.


프로그래밍을 스위프트로 시작한다면 전략을 잘 세우셔야 할 것 같습니다.
옆에서 도와줄 누군가가 있다면 가장 좋겠지만 그런 행운을 누릴 수 있는 분은 많지 않으리라 생각합니다.
한 번에 모두를 알 수 없다는 사실을 이해하셔야 합니다.
머리로는 끄덕끄덕 하지만 실제 진도를 나가면 답답한 순간을 수도 없이 만나게 될 것입니다.
설계한 사람들도 계속 개선하고 있는데, 처음 접하면 곳곳에서 막히는 건 당연한 것이니 조급해하지 않으셨으면 합니다.

프로그래밍을 해보셨던 분이 새로운 언어를 접하는데 크게 어려움을 느끼지 않는다면, 많은 경우 그것은 단지 새로운 언어의 문법이 기존에 알고 있던 언어의 문법과 비슷하다는 이유뿐이라 생각합니다.
새로운 언어를 이해한 게 아니라 언어가 가진 문법적인 서술 방식에 익숙할 뿐인 것입니다.

'타입 변수 할당' 순서를 가지는 스타일에 익숙하신 분들은 스위프트의 스타일이 생소할 수 있습니다.
이게 머리로는 이해하는데 기존 스타일이 워낙 눈에 익어 있다는 게 문제를 일으킵니다. 스위프트 코드가 조금 복잡해지기 시작하면 코드를 보다가도 어느 순간 기존에 익숙한 스타일과 헷갈려서 혼돈이 올 수 있습니다.
게다가 비슷한 개념인데 용어가 다르고 적용하는 형태가 같으면서도 다른 부분이 있으면 더 힘들 수 있습니다.

그럼에도 불구하고,

익숙한 것과 조금 거리를 두면 새로운 세상이 보인다면 괜찮지 않나요?



댓글 0 이 리뷰가 도움이 되었나요? 공감 0
포토리뷰 [도서] 스위프트 프로그래밍 내용 평점5점   편집/디자인 평점5점 옆**끼 | 2020.11.22 | 추천0 | 댓글0 리뷰제목
초급을 위한 책이기 때문에 온라인 동영상 강의가 마련되어 있는데 4군데에서 볼 수 있다.주석 남기기 부분을 보자면[주석: 소스코드에 정보를 남기는 목적Xcode: 말풍선의 형태, 레퍼런스 문서의 요약을 보여주는 퀵헬프 기능 있음]라 설명이 되어있고 코드에 관한 설명을 해준다.Xcode가 궁금해지면 영어단어책처럼 뒤쪽에 있는 찾아보기에서 용어를 찾으면 된다.Xcode는 애;
리뷰제목

초급을 위한 책이기 때문에 온라인 동영상 강의가 마련되어 있는데 4군데에서 볼 수 있다.

주석 남기기 부분을 보자면

[주석: 소스코드에 정보를 남기는 목적

Xcode: 말풍선의 형태, 레퍼런스 문서의 요약을 보여주는 퀵헬프 기능 있음]

라 설명이 되어있고 코드에 관한 설명을 해준다.

Xcode가 궁금해지면 영어단어책처럼 뒤쪽에 있는 찾아보기에서 용어를 찾으면 된다.

Xcode는 애플의 통합 개발 환경인 Xcode는 플레이그라운드 실행 모드가 자동인데 수동으로도 변경할 수도 있다.

그림을 삽입해 주어 훨씬 보기가 편하고 형광펜 비침은 없었다.

REPL의 단축키라든지 많이 사용하는 특수문자를 표로 만들어 준 부분도 있기 때문에 이 부분만 보고 암기하기에도 유용하다.


스위프트 코드는 macOS뿐만 아니라 웹과 모바일에서도 이용 가능한데 틀린 부분을 수정하기도 매우 편리했다.

스위프트는 테일러 스위프트만 알았지 다른 책에 비해 초급이길래 선택을 했는데 확실히 이해하기 편했다.

기본에 충실한 책이라 따라 하기도 훠얼씬 수월했고 이해하기도 어렵지 않았다.

굳이 더 보완할 점이 있다면 예시로 들어준 오류코드 설명 다음에 맞게 고치면 어떤 코드가 되는지도 있으면 초보자는 더욱 비교하기 편할 것 같다.

댓글 0 이 리뷰가 도움이 되었나요? 공감 0
포토리뷰 스위프트 프로그래밍 3판 내용 평점5점   편집/디자인 평점5점 제* | 2020.11.22 | 추천0 | 댓글0 리뷰제목
이 책은 스위프트 언어에 대해 매우 잘 다루고 있다. 몇 권의 iOS 앱 개발 책이나 스위프트 책을 봤었지만 이 책만 큼 스위프트라는 언어를 잘 설명한 책은 없었던 것 같다. 또한 swift언어의 버전이 어떻게 변해왔는지도 대해 간략히 설명을 하고 있어 이전 버전과 비교해 볼수 있다. iOS앱을 개발하기 위해서는 다양한 방법이 있다.objective-c, swift,  react native, flutt;
리뷰제목

책은 스위프트 언어에 대해 매우 다루고 있다.


몇 권의 iOS 앱 개발 책이나 스위프트 책을 봤었지만 이 책만 큼 스위프트라는 언어를 잘 설명한 책은 없었던 것 같다.

 

또한 swift언어의 버전이 어떻게 변해왔는지도 대해 간략히 설명을 하고 있어 이전 버전과 비교해 볼수 있다.



iOS앱을 개발하기 위해서는 다양한 방법이 있다.

objective-c, swift,  react native, flutter 등 하지만 objective-c와 swift를 모르면은 예외 사항에 대한 대처가 힘들 수 있다.

또한 최근에는 objective-c는 거의 사용을 안하고 스위프트를 많이 사용한다.

그만큼 스위프트를 모르고는 iOS앱을 개발하는데 문제가 발생할 수 있다.

 

하지만 이 책은 앱을 개발하는 방법을 알려주는 책은 아니다.

만약 전반적인 iOS 앱 개발 하는 방법을 공부하고 싶은 사람이라면 다른 책을 봐야 한다.

 

이 책은 스위프트라는 프로그래밍 언어에 대해 다루고 있는 책이다. 

초중급 iOS 및 스위프트 개발자라면 이 책을 강력히 추천한다. 

스위프트 개발을 위한 레퍼런스 책으로 하나 두면 좋을듯 하다.

댓글 0 이 리뷰가 도움이 되었나요? 공감 0

한줄평 (5건) 한줄평 총점 9.2

혜택 및 유의사항 ?
구매 평점5점
iOS 개발을 위해 구매했지만 다른 활용방안도 기대가 되게 만드는 책입니다.
이 한줄평이 도움이 되었나요? 공감 0
-* | 2023.02.21
구매 평점4점
스위프트에 대해 충실하게 설명이 되어 있고, 저자의 온라인 사이트의 정보도 좋았다.
이 한줄평이 도움이 되었나요? 공감 0
o******e | 2022.01.21
구매 평점5점
자기개발서적으로 구매해서 읽고 있습니다.
이 한줄평이 도움이 되었나요? 공감 0
빠* | 2021.10.11
  •  쿠폰은 결제 시 적용해 주세요.
1   28,800
뒤로 앞으로 맨위로 aniAlarm