모던 스위프트 개발의 핵심! 패러다임과 매크로 그리고 동시성까지
『스위프트 프로그래밍』 전면 개정 4판!
스위프트 6이 지향하는 현대 프로그래밍 철학을 한 권에 담다
이 책은 스위프트 언어를 깊이 탐구하는 스위프트 교과서다. ‘스위프트 6 버전’을 완벽히 반영한 이번 개정판은 기초 문법에서 출발해 객체지향·함수형·프로토콜 지향 설계로 이어지는 패러다임 흐름을 한눈에 이해하고 스위프트의 철학과 실전 활용법을 자연스럽게 익히도록 돕는다. 동시성을 통한 안전한 비동기 및 병렬 처리, 매크로 기반 반복 작업 자동화 그리고 액터, 미복사 타입, 패키지 접근 수준 등의 최신 기능을 습득해 실무 코드에 적용할 수 있다. 이 책으로 스위프트 6의 잠재력을 직접 경험하며 안전성과 생산성을 동시에 끌어올려보자.
[ 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 제네릭 서브스크립트
__22.7 매개변수 다발
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 미소유참조와 암시적 추출 옵셔널 프로퍼티
__27.7 클로저의 강한참조 순환
CHAPTER 28 오류처리
__28.1 오류처리란
__28.2 오류의 표현
__28.3 오류 포착 및 처리
__28.4 오류 타입 지정하기
CHAPTER 29 메모리 안전
__29.1 메모리 접근 충돌의 이해
__29.2 입출력 매개변수에서의 메모리 접근 충돌
__29.3 메서드 내부에서 self 접근의 충돌
__29.4 프로퍼티 접근 중 충돌
CHAPTER 30 불명확 타입과 상자형 프로토콜 타입
__30.1 불명확 타입
__30.2 상자형 프로토콜 타입
CHAPTER 31 결과 구축자
CHAPTER 32 동시성
__32.1 작업
__32.2 비동기 함수의 정의와 호출
__32.3 비동기 함수의 병렬 호출
__32.4 작업 그룹
__32.5 작업의 취소
__32.6 비구조적 동시성
__32.7 액터
__32.8 전송 가능한 타입
__32.9 미복사 타입
CHAPTER 33 매크로
__33.1 독립 매크로
__33.2 부착 매크로
부록
__A. 스위프트의 주요 프로토콜
__B. 스위프트의 주요 함수
__C. 스위프트의 예약어
__D. 디버깅 식별자
__E. 컴파일러 제어 구문
__F. 사용 가능 조건 확인
__G. 속성
__H. 타입 별칭 및 호환 타입
__I. 알아두면 유용한 타입
스위프트 언어에 집중한 단 하나의 가이드
스위프트 6 최신 기능부터 활용 패턴까지, 순수 스위프트 완전 정복!
스위프트는 이제 iOS와 macOS를 넘어 서버, 임베디드, 크로스 플랫폼까지 그 영역을 넓히고 있다. 쓰임새가 넓어질수록, 실행 환경이 바뀌어도 일관된 원칙으로 개발하려면 언어의 본질과 철학을 깊이 이해해야 한다. 이 책은 앱 튜토리얼이 아닌 언어 그 자체에 집중해 ‘스위프트를 깊이 이해한다’라는 목표를 온전히 실현했다. 순수 스위프트 언어를 다루는 책을 찾는다면 그리고 스위프트의 활용 패턴과 스위프트가 제시하는 패러다임을 배우고 싶다면 이 한 권으로 충분하다.
이 책은 2024년 9월 공개한 스위프트 6 버전을 전면 반영하여 동시성과 안전성, 매크로 등 최신 기능을 풍부한 예제로 설명한다. 입문자의 눈높이로 시작하면서도 메모리 관리, 패턴 매칭 등 현업에 도움이 되는 실무 개념을 되짚어 입문자뿐만 아니라 스위프트를 사용하는 개발자도 레퍼런스로 활용할 수 있다. 스위프트의 선언적이고 명확한 철학을 차분히 이해하고 최신 기능으로 코드 품질을 높이고 싶다면 이 책이 최고의 가이드가 되어줄 것이다.
★ 내용 구성
| 1부 스위프트 기초 |
스위프트의 역사와 언어의 특징과 기본 타입, 연산자, 흐름 제어, 함수, 옵셔널까지 스위프트를 이해하는 데 반드시 필요한 필수 기초 개념을 다뤄 스위프트 학습의 기초 체력을 만든다. 더불어 스위프트 코드를 작성하고 실행하는 IDE인 Xcode 개요를 살펴본다.
| 2부 객체지향 프로그래밍과 스위프트 |
구조체와 클래스, 프로퍼티와 메서드, 인스턴스 생성 및 소멸, 접근제어까지 객체지향 프로그래밍의 핵심을 스위프트 문법으로 해부한다. iOS 및 macOS, tvOS, watchOS 등의 플랫폼에서 동작하는 애플리케이션을 작성하기 위해 필수인 객체지향 프로그래밍 설계를 예제로 학습한다.
| 3부 함수형 프로그래밍과 스위프트 |
클로저, 옵셔널 체이닝과 빠른 종료, 모나드 등의 개념을 통해 스위프트의 함수형 사고를 익힌다. 객체지향에 함수형 프로그래밍을 더해 가독성과 병렬성을 높이는 방법을 제시한다.
| 4부 확장 |
서브스크립트, 상속, 타입캐스팅, 프로토콜, 익스텐션, 제네릭을 집중 탐구해 타입을 수직/수평으로 확장하는 기법을 마스터한다. 프로토콜 지향 설계를 통해 재사용성과 유연성을 극대화한다.
| 5부 스위프트 고급 |
스위프트를 더욱 강력하고 유용하게 사용하도록 도와줄 기능과 문법을 알아본다. 패턴 매칭, ARC, 오류 처리, 메모리 안전성을 다루며 안정적인 코드 작성을 돕는다. 타입 중첩, 동시성, 매크로 등 스위프트 6 최신 기능으로 생산성과 성능을 한 단계 끌어올린다.
★ 4판 주요 업데이트 사항
- 스위프트 6 버전 전면 업데이트
- Xcode 16 기준 UI 및 신규 기능 반영
- 동시성(Concurrency) 신규 챕터 수록
- 매크로(Macro) 신규 챕터 수록
- 결과 구축자(Result Builder) 신규 챕터 수록
예약판매 안내
온라인 주문시 "2025-05-30 출고" 예상(출고 후 1~2일 이내 수령) - 내부 사정으로 출시가 지연될 수 있습니다.
구매한 도서중 예약도서가 포함되어 있을 경우, 예약도서 출고일에 함께 배송됩니다.