객체지향, 함수형, 프로토콜 지향 패러다임까지 한 번에!(Swift 5)
한빛미디어
집필서
판매중
문법을 넘어 프로그래밍 패러다임도 익히는 스위프트 5
스위프트 5의 핵심 키워드는 ‘안정화’다. ABI 안정화 덕분에 버전과 환경에 크게 영향받지 않고 더 유연하게 스위프트를 사용할 수 있게 되었다. 최신 패러다임과 다양한 언어의 기능을 흡수하여 언어 전반에 걸쳐 안정화되었다. 기존 스위프트 업데이트의 주된 목적이 새로운 기능 추가였다면, 이번 스위프트 5는 비약적으로 발전한 기능을 세세하게 보정하고 다듬었다. 그렇다고 굵직한 변화가 없는 것은 아니다. 스위프트 언어의 발전은 여전히 현재 진행형이다.
스위프트 프로그래밍 핵심 패러다임 기반으로 설명
스위프트에는 함수형과 프로토콜 지향 프로그래밍 기법이 포함되어 있다. 이 책은 이 두 가지 패러다임에 맞춰 스위프트로 프로그래밍하는 방법을 설명한다. 스위프트 문법과 프로그래밍 패러다임을 함께 이 해하고 싶다면 이 책은 큰 도움이 될 것이다.
https://www.youtube.com/watch?v=2n-fSlW-jts
출판사 리뷰
스위프트를 제대로 이해하고 싶은 개발자를 위한 책
스위프트는 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 애플리케이션 개발 입문자
- 기존 프로그래밍과 스위프트의 차이를 알고 싶은 대학생