메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

스위프트 프로그래밍(3판)

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

한빛미디어

집필서

판매중

  • 저자 : 야곰
  • 출간 : 2019-10-01
  • 페이지 : 580 쪽
  • ISBN : 9791162242223
  • 물류코드 :10222
초급 초중급 중급 중고급 고급
4.6점 (11명)
좋아요 : 0

문법을 넘어 프로그래밍 패러다임도 익히는 스위프트 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 애플리케이션 개발 입문자

- 기존 프로그래밍과 스위프트의 차이를 알고 싶은 대학생

 

저자

야곰

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』, 『스위프트 프로그래밍』(이상 한빛미디어)이 있습니다. 

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

  • 이 책의 리뷰는 한빛미디어 ‘나는 리뷰어다’로 부터 책을 지원받아 작성된 글입니다.

     

    yagom_swift-01.jpeg

     

    이번에 한빛미디어에서 스위프트 프로그래밍 개정판(3판)을 출간했다는 소식을 듣고 한번쯤 읽어보고 싶다고 생각했었다. 그런데 때마침 리뷰할 책으로 이 책을 받게 되었다.

    확실히 유명한 책들은 그 이유가 있는 것 같다. 책의 구성은 당연히 깔끔하고, 단순한 프로그래밍 문법뿐만 아니라 디자인패턴, 메모리 관리 등 어려운 개념들에 대해서도 이해하기 쉽게 설명해 준다.

    이전에 스위프트프로그래밍 2판을 이미 보았었다. 이전판과 비교해보면 스위프트 버전이 올라감에 따라 바뀐 몇가지 문법만 변경되었다고 보면 될 것 같다. 그리고 맨 뒤에 두 챕터정도가 추가되었는데 스위프트를 잘 모르는 나에게는 꽤 유익한 챕터 였다.

    다만, 이 책은 IOS 개발을 다루고 있는 책이 아니라 SWIFT 를 다루는 책이기 때문에, 만약 IOS 개발을 해보고 싶은 사람이라면 이 책만이 아니라 다른 책도 봐야 한다는 것을 알려주고 싶다.

    이런 점들을 고려해 봤을 때 총 평은 IOS 개발자가 되기 위해 읽어야 할 첫 번째 입문서 라고 하고 싶다.

     

    KakaoTalk_Photo_2019-11-17-11-37-41.jpeg

     

    책의 구성은 프로그래밍 개념서 답게 문법부터 시작해서 함수작성법 등으로 진행된다. 그 이후에는 스위프트 프로그래밍을 할 때 알아야 할 패턴들, 메모리를 관리하는 방법 등으로 이어진다.

    여기서 설명을 할 때, 코드와 함께 진행되며 이해하기 어려운 개념들은 그림과 함께 설명한다. 그래서 이해하는 데 조금 더 도움이 되지 않았나 싶다.

    사실 이번 책은 IOS 개발자 사이에서 거의 필독서 수준으로 유명한 책이라서 다른 말을 쓸 필요는 없는 것 같다.

    IOS 개발자가 되고 싶을 분이라면 레퍼런스 용으로, 혹은 한번정도는 꼭 정독을 해볼 것을 권하고 싶다.

  •  

    1. 읽으면서 느낀 점

    - 이 책은 SWIFT 언어에만 집중한 책입니다. IOS와 관련된 내용은 배제되었습니다.

    - 보통 IT 서적은 예제형(따라하기)과 레퍼런스 형으로 나뉘는데, 레퍼런스형에 가까운 책입니다. 하지만 각각의 레퍼런스의 예제들도 충분히 잘 구성되어 있습니다.

    - SWIFT가 지향하는 여러가지 패러다임에 대해 충실하게 설명하고 있습니다.

    - 레퍼런스 형의 책으로써 언어의 여러가지 면에서 다양하고 충실하게 잘 설명하고 있습니다.

    - 특정 언어를 공부하는데 있어 더할 나위 없이 예제가 잘되어 있고, 정리가 잘되어 있는 책이나, 한가지 아쉬운점이 있습니다. 보통 언어를 다루는 기본서들 중에는 마지막에 응용프로그램을 실제로 간단하게 적용하는 예제가 포함되어 있는 경우도 있는데, 마지막 한장 정도는 실제 응용프로그램의 종합적인 예제 챕터가 있었으면 좀더 좋지 않았을까 생각해봅니다.

     

    2. 소감요약

    -  SWIFT에 처음 진입하거나 현업에서 IOS개발자시면서 좀 더 언어적으로 더욱 업그레이드시키고자 하는 분들에게 적합한 책이라고 생각합니다. 

    - 레퍼런스 형의 책으로 항상 옆에 두고 개발해도 좋을만한 서적입니다.

    - 한가지 아쉬운점은 종합적인 예제 한 파트 정도 추가 되면 더 좋을 것 같습니다. 

     

  • 스위프트는 애플에서 만든 언어로 보통 애플 전자제품에서 실행될 소프트웨어를 만들기 위해 사용된다.

    컴파일 역시 맥 OS에 최적화 되어 있는 언어라(찾아보니 윈도우에서도 실행할 방법이 있긴 한 것 같지만) 쾌적하게 개발하려면 아무래도 애플에서 만든 컴퓨터가 있어야 한다는 부담이 있다. 문법 자체는 파이썬처럼 간단하고 배우기 쉽다지만 좀 다른 의미에서(?) 높은 진입장벽을 가진 언어인 것 같다.

    iOS 개발에 관심이 생겨 읽어보았는데 상대적으로 최근에 나온 언어다보니 많이 쓰이는 프로그래밍 언어들의 온갖 장점을 합쳐놓은 듯 해서 매력적인 것 같다.

     

    이 책은 기본적인 환경 설정부터 시작해 입문서 치고는 상당히 많은 30챕터에 걸쳐 스위프트 문법의 기초부터 고급까지 잘 설명해준다. 예제 코드도 정말 많다. swich를 예로들면 switch문의 다양한 활용법을 보여주는 예제만 10개 넘게 실려있다. 

    저자분이 iOS 교육 분야에서 워낙 유명하신 분이라 믿고 사도 될것 같은 책이다.

    하지만 서문에 써있듯 요 책은 이미 다른 프로그래밍 언어를 사용해본 경험이 있는 사람을 주요 독자층으로 삼고 있다.

    당장 1장부터 프로그래밍을 전혀 모르는 사람이 보면 다소 불친절하게 느껴질 내용이다.

    이미 다른 분야의 개발을 해봤지만 iOS 개발에 도전해보기 위해 적절한 책을 찾는 사람에게 추천한다.

    KakaoTalk_Photo_2019-11-16-23-53-27.jpeg

     

     

  • 아이폰 앱을 만들기 위해선 object-c, swift 언어로 개발이 가능합니다. 

    최근 개발 트렌드는 swift를 사용을 더 많이 하는 상황인데요. 

    함수형 언어로써 object-c에 비해서 간결한 코드를 작성할 수 있기 때문이죠. 


    다양한 라이브러리들도 swift로 대체 되는 실정 속에서 실무에선 swift 개발은 필수가 되어가고 있습니다. 


    swift에 관련된 책 중 인기 있는 분은 바로 '야곰' 님입니다. 

    야곰님의 스위프트 책이 개정돼 소개해 드리려고 합니다. 


    이 책은 swift5를 기반으로 써졌습니다. 


    스위프트2.jpg

     

     

    1) ABI 안정화!

    애플에선 swift 5를 공개했는데요.

    이번 ABI 안정화를 통해 버전에 영향을 받지 않고 앱 개발하는 Swift를 자유롭게 쓸 수 있습니다.


    이번 업데이트는 언어의 표현에 대해선 큰 변화는 없으며, Swift UI 기능 들 추가됐습니다.

    기존 UIkit 사용하던 사람들 중 SwiftUI 와 같이 사용을 하려면 UIHostingControlloer를 통해 사용할 수 있습니다. 


    스위프트.jpg

     

     

    2. 기초 체계적!

    책의 핵심은 '기본 충실' 입니다. 

    Swift의 언어에 대해 객체지향, 함수형, 프로토콜 지향 패러다임 등을 이해하기 쉬운 예제들과 함께 책을 쓰셨습니다. 


    예제들을 볼 때마다 이렇게 설명하면 쉽겠다는 생각을 많이 했는데요.

    사진과 곁들여서 제네릭 타입에 대해서 잘 정리 해주셨습니다. 


    Ps

    Swift는 함수형 언어로 다른 언어 비해 진입장벽이 낮은데요. 

    최근 딥러닝 개발에 사용되는 텐서플로에서도 사용되고 있으며, 백엔드 서버 개발에서도 사용해 전망이 밝은 언어로 생각이 듭니다. 

    아이폰 개발을 하는 분들에겐 필독서로 자리 잡은 책으로써 언어에 대해서 자세히 이해하고 개발을 하고 싶은 분들에게 추천해드립니다.


  • 스위프트 프로그래밍 책이다.

     

    타이틀이 완전 기본서 같은 느낌을 강하게 가져다 주는 책이다.

    이 책을 읽을 때도 그런 느낌이었다. 이 언어의 기본부터 일정 패턴까지 훑어주겠다는 의도가 엿보였다.

    그래서 꼼꼼한 느낌도 들었고, 하지만, 그렇기 때문에 재미는 덜 한 느낌이 드는 것도 사실이었다.

    그래서 이 책은 한번 정독하기는 힘든 책이지만, 책 꽂이에서 쉽게 빼내어 버릴 수도 없는 책이다.

    스위프트 프로그래밍에 조금이라도 연관되어 있다면, 언제든 이 책을 레퍼런스 삼아서 진행할 날이 분명이 올 것이라고 생각되기 때문이다.

     

    그리고 이 책은 3판인데, 1판 2판 3판 흐름에 따라 책의 표지 컬러가 매번 바뀌었다.

    버전에 따라 잘 바뀌는 스위프트 버전 올림이기 때문에, 나름 중요한 부분인것 같기도 하다.

     

     

    이 책의 표지

     

    앞에서 언급했듯이 이 책은 같은 책의 3판이다. 각 판마다 색이 다르게 되어있기 때문에 이러한 부분은 괜찮은 도입이라고 생각이 든다. 각각 스위프트 3, 스위프트 4, 스위프트 5를 다루고 있다.

    이번에는 스위프트 5이다. 그리고 제목이 크게 차지하고 있기 때문에 한눈에 크게 들어오는것도 나쁘진 않았던것 같다. 다만 독자적인 이름이나 시리즈가 별도로 없는 느낌이라 아쉬웠다. 예전 RXJAVA와 같은 시리즈인듯 느낌은 든다.

     

     

     

    지은이는 야곰이라는 필명을 사용하시는 분이다.

    아마도 iOS와 관련해서는 이미 오랫동안 유명한 분인듯하다. 그래서 신뢰로 이 책을 읽기 시작하게 되는 느낌이 드는 부분이다.

     

     

    머릿말에서 저자가 한 이야기 중에 와 닿는 부분이 있어서 발췌하였다.

    사실 이건 스위프트 뿐 아니라 어떤 언어에도 해당되는 이야기이다. 당연히 사람은 자신이 알고있는 지식 기반으로 새로운 지식을 받아들이고, 그것으로 계속 지식을 확장해 나간다. 당연히 언어를 습득할 때도 마찬가지이다. 하지만, 스위프트를 배울 땐 그렇게 하지 말아달라는 뜻을 강조하였다. 사실 이 부분이 중요할 수 있는 것은, 모던언어를 배울 때도 마찬가지였지만 그렇게 하면 새로운 개념을 이해하기가 어려워진다. 자신의 패러다임을 바꿔야만 해당 언어에 대한 올바른 사용을 할 수 있게 된다. 한국어 기반으로 백번 영어를 끼워맞춰봐야 영어가 어느 한계에서 더 올라가지 않듯이, 새롭게 받아들어야 한다. 그것에 대해서 강조하였고, 그렇기 때문에 이것을 유의하고 볼 수 있었다.

     

     

    목차

     

    이 책은 다음의 챕터로 구성되어 있다.

    챕터는 30개나 된다. 그래서 파트 위주로 구분하여 생각하는게 좋다.

    PART 1. 스위프트 기초

    - CHAPTER 1. 스위프트

    - CHAPTER 2. 스위프트 처음 시작하기

    - CHAPTER 3. 데이터 타입 기본

    - CHAPTER 4. 데이터 타입 고급

    - CHAPTER 5. 연산자

    - CHAPTER 6. 흐름 제어

    - CHAPTER 7. 함수

    - CHAPTER 8. 옵셔널

    PART 2. 객체지향 프로그래밍과 스위프트

    - CHAPTER 9. 구조체와 클래스

    - CHAPTER 10. 프로퍼티와 메서드

    - CHAPTER 11. 인스턴스 생성 및 소멸

    - CHAPTER 12. 접근제어

    PART 3. 함수형 프로그래밍과 스위프트

    - CHAPTER 13. 클로저

    - CHAPTER 14. 옵셔널 체이닝과 빠른 종료

    - CHAPTER 15. 맵, 필터, 리듀스

    - CHAPTER 16. 모나드

    PART 4. 확장

    - CHAPTER 17. 서브스크립트

    - CHAPTER 18. 상속

    - CHAPTER 19. 타입캐스팅

    - CHAPTER 20. 프로토콜

    - CHAPTER 21. 익스텐션

    - CHAPTER 22. 제네릭

    - CHAPTER 23. 프로토콜 지향 프로그래밍

    PART 5. 스위프트 고급

    - CHAPTER 24. 타입 중첩

    - CHAPTER 25. 패턴

    - CHAPTER 26. where 절

    - CHAPTER 27. ARC

    - CHAPTER 28. 오류처리

    - CHAPTER 29. 메모리 안전

    - CHAPTER 30. 불명확 타입

    부록. A.B.C.D.E.F.G.H.I

     

    ( 챕터를 너무 잘개쪼갠 느낌이...)

     

     

    첫장 첫 내용이다

     

    첫 내용을 보면 오는 느낌처럼 매우 기본서 느낌이다. 실전예제중심이 아닐것 같은 느낌이 많이 드는 느낌이다. 교과서를 보면 재미는 없지만 필요하듯이, 이 책도 그러한 느낌이다.

     

     

    예제 수록부분

     

    예제를 수록한 부분도 같은 느낌이다. xcode를 동작하여 코드 테스트를 진행하기는 하였으나, 거의 인터프리터 언어 테스트 하듯이 작성해도 무방하다. 하나의 프로그램을 만드는 실전예제가 아닌, 각 언어 특성을 보기 위한 테스트 코드이기 때문이다. 그래서 기본에는 매우 도움이 되는 느낌이다. 복합적이지 않기 때문에 각 연산자의 특성을 순수하게 알 수 있도록 도와주었다.

     

     

    책의 뒷면

     

    이 책의 뒷면이다. 장점에 대해서도 담백하게 나와있다. 하지만, 조금 아쉽다. 서술형이라서 눈에 크게 들어오지 않았기 때문이다.

     

    결론을 내보면

     

    장점으로는

    - 스위프트의 기본서를 찾는다면 이 책이 제격이다.

    - 번역서가 아니기 때문에 오해를 할 부분이 크게 없으며, 저자에게 직접 질문하는 것도 편하다.

    - 아주 상세하게는 아니겠지만, 할 수 있는 한 스위프트의 모든 것을 다뤘다.(범위 측면)

    - 의지만 있다면 처음 입문부터, 고급 스킬까지 다룰 수 있도록 수록하였다.(난이도 측면)

     

    아쉬운 점으로는

    - 책이 재미가 좀 없다.(담백하고 건조한 느낌이 든다.)

    - 실습하는 방법에 대한 가이드가 구체적인 편은 아니다.

    - 무엇을 만들고자 하는 의도를 가지고 이 책을 접하기에 적절한 편은 아니다.

    - 도표나 요약을 활용한 부분이 적고, 서술로 기입한 부분이 많아서 잘 눈에 띄지 않는 부분이 있을 수 있다.

     

    이 책을 평가해보면 다음과 같다.

    가격: 7 / 10

    내용: 7 / 10

    디자인: 5 / 10

    구성: 7 / 10

     

    저자: 야곰

     

    추천 독자: iOS 개발을 위해 스위프트를 공부해야하는 개발자, 모던 언어 중 하나인 스위프트를 익히고 싶은 개발자(입문자에게는 어려울 수 있음)

     

    가격: 32,000원

    전체 페이지: 580페이지

     

    ** 이 리뷰는 "한빛미디어"를 통해 도서를 제공받아 작성하였습니다.

  •  

    20191115_224558.jpg

     

     

    C JAVA에 익숙한 나에게 애플의 언어인 스위프트는 어떤 다른점이 있을까 싶어 선택한 책이다.

    책 표지에서부터 함수형, 프로토콜 지향 패러다임..?? 이건 뭐지하며 읽기 시작했다

    스위프트에 대한 첫인상은 너무 낯선 개념들 그리고 낯선 문법들이었다 ㅋㅋ

    책이 묵직한 만큼 알차게 내용이 꽉꽉 들어있고, 기억에남는 부분은

    다양한 개발환경을 소개한다는 것?

    자바 책들은 주로 이클립스를 사용한다고 하면서 이클립스 설치법 부터 주르륵 나오는데, 이책에서는 다양한 개발환경을 소개해줘서 좋았다. 아이패드에서 돌려볼수 있는 방법까지!

    그리고 스위프트 언어의 특징(객체지향, 함수형, 프로토콜..등등)에 대해 먼저 설명해주면서 스위프트가 가진 특징을 먼저 소개해주는 부분이 신선했다. 중간중간 기존 언어들과의 비교도 있어서 독자들이 이해하는데 도움이 될 것 같다. 약간 사전같은 느낌이라 엄청 친절한 기초 책은 아니라는 생각이 들었다.(이건 내가 너무 프로그래밍 초보자라 그런 것 같기도..) 

     

    나는 iOS 앱을 만들고 싶어스위프트 공부해야지하는 마음으로 사면 지루할 것이다. iOS 앱을 만들기 위한 책이 아니기 때문이다스위프트 언어에 대해 샅샅이 알고 싶은 사람들을 위한 책!

    프로그래밍 입문자보다는 이미 어느정도 프로그래밍 개념이 있고, iOS 개발자로서 스위프트에 도전해보고 싶다거나최신 스위프트 책이 필요한 개발자들이 읽으면 좋을 것 같다. 대상 독자를 꼭 확인하고 사시길! 

     

    스위프트 어렵네..하고 읽다가 저자의 말을 다시 보게됐는데 기존언어의 기능에 스위프트를 대입하여 읽으면 난해할 것이라는 내용...ㅎㅎ

    스위프트가 처음이라면 13쪽을 꼭 읽어보세요!


     

  •  

    Swift를 아시나요?

     

    몇 해 전에 애플에서 발표한 언어라는 것을 기억하곤 있었는데 알고 보니 그때가 벌써 2014년 6월에 베타 버전의 존재를 세상에 발표했었네요. 그 뒤로 꾸준히 발전하여 2019년 9월에 Swift 5.1이 배포된 상태라고 합니다. 언어가 나온 지 5년 정도인데 이 책이 3판까지 나온 것을 보면 업데이트되는 부분에 대해 상당히 빠르게 대응하고 있다는 느낌을 받을 수 있습니다. 책 자체도 거의 580페이지의 분량을 가지고 있으며 Swift의 문법을 집중적으로 다룬 책입니다.

     

    스위프트 프로그래밍 표지

     

    처음 시작!

     

    아직까지 맥에서 Xcode를 사용한 코딩을 해본 적이 없어서 조금 생소하긴 했습니다만 드디어 Xcode를 사용해 보네요.

     

     

    몇 번인가 초급자, 입문자용 책들을 보다 보니 변수, 함수, 숫자, 문자, 불리언 등 일정 부분 비슷한 패턴을 발견하곤 합니다. 이전에 이런 개념조차 없을 당시에 비하면 많이 좋아진 것 같다는 생각을 하면서 책을 읽어 내려가지만, 책이 완전히 문법 위주로 이루어져 있기 때문에 재미있다고는 말 못 하겠네요. 이런 이유로 읽는데 진척이 별로 없는 것 같습니다. 꾸준함이 필요할 것 같습니다.

     

    이해를 돕기 위한 모식도

     

    코드만으로는 이해가 잘 되지 않지만 이런 도식을 통해 이미지화시키면 좀 더 수월하게 이해가 되는 것 같습니다.

    기존에 이미 스위프트를 경험하신 분들은 새롭게 바뀐 부분에 대해서, 처음 시작하시는 분들은 스위프트의 개념적인 부분을 시작으로 고급 기술까지 정리된 '스위프트 프로그래밍'을 읽어보시길 권합니다. 물론 끈기가 있으시다면 더더욱 좋겠죠?

     

    Github Page

    책에서 다루고 있는 소스를 다루고 있습니다.

     

     

    Swift 기본문법

    야곰의 스위프트 기본 문법 강좌입니다.

    yagom.github.io

    유튜브

    책을 보고 따라하면서 조금씩 지친다는 느낌을 받을 수 있습니다. 이럴 땐 유튜브 채널을 통해 진행하는 것도 좋은 방법일 것 같습니다.

     

     

    yagom

    야곰의 프로그래밍 채널입니다

    www.youtube.com

  • 이 책이 처음 나왔을 때 샀던 기억이 있다. 그때가 2017년도 1월달 쯤이엇나.. 아무튼 나는 그때 iOS개발에 한참 빠져있었어서 swift언어의 매력에 사로잡혀있었었다. 그래서 swift 언어를 비슷하게 개발해보고.. 했었다.
    이번에 iOS앱을 보수해야 하는 상황이 생겨서 swift관련 래퍼런스 책이 필요했다. 최신 버전 swift에 맞게 책이 다시 개정되었다. 그래서 신청하게 되었다.항상 보는 부분이지만, 클로저 부분은 헷갈리는 것 같다. 내가 함수형 프로그래밍 언어에 친하지 않아서 항상 어려운 것 같다. 클로저가 진짜 써보면 좋다는 것을 느끼는 것 같다. C++에서도 요즘 람다를 많이 써먹고 있다. 이 책은 스위프트의 클로저와 함수형 프로그래밍에 대해서 상세히 설명해주고 있다. 친절해서 좋다.map, filter, reduce 3박자는 마치 삼위일체와 같다고나 할까,, 기존의 많은 for loop으로 작업해야 했던 것들을 쉽게 함수 몇번으로 코드를 엄청나게 줄일 수 있다는 점이 참 좋다. linq같은 기능인 것 같다. 근데 랭귀지에서 지원해주는 거라 걍 array에서 쓸 수 있는게 좋은 것 같다.

    아무튼 오랜만에 스위프트 책을 보니까 문법이 참 독특하고 간단하고 쉬운 것 같다. 스위프트가 파이썬보다 훨씬 나은 것 같다. 좀 더 흥했으면 좋겠다ㅠㅠ 윈도우에 안돌아가는 것은 흠이다.

  • 애플에서 Objective-C 다음으로 사용하는 언어가 스위프트(SWIFT)입니다. 애플에서 최근에 만든 프로그래밍 언어라 그런지 다양한 패러다임(개발 방법)을 지원합니다. 개발을 할 때 필요한 최신 기능을 거의 다 집어넣은 것 같네요. 이 스위프트를 배우려고 책을 고르면 아이폰 iOS 프로그래밍을 하기 위해 간단히 소개만 하는 경우가 많은데, 이번에 본 책은 조금 다릅니다. ‘SWIFT 스위프트 프로그래밍 3판’은 스위프트 언어만 집중해서 배울 수 있는 책입니다. 아이폰 개발을 바로 하고 싶은 분이라면 다른 책을 봐야겠지만, 이 책으로 스위프트를 제대로 정복한다면 아이폰 개발에도 큰 도움이 될 것입니다.
     
    ‘SWIFT 스위프트 프로그래밍 3판’은 스위프트 입문서, 기본서라고 할 수 있습니다. iOS, macOS, watchOS, tvOS 등 플랫폼에 종속되지 않고, 언어의 순수 기능을 집중해서 배울 수 있는 책입니다. 개발 환경은 다른 걸 사용해도 되지만 여기서는 맥에서 Xcode로 개발을 진행합니다.
     
    책은 총 5개의 파트로 되어 있습니다. 각 파트에서 무얼 배우는지 키워드를 나열해보면 다음과 같습니다.
     
    파트1 스위프트 기초 
    스위프트 역사, 데이터 타입, 연산자, 제어, 함수, 옵셔널 
     
    파트2 객체지향 프로그래밍과 스위프트 
    구조체, 클래스, 프로퍼티, 메서드, 인스턴스, 접근제어 
     
    파트3 함수형 프로그래밍과 스위프트 
    클로저, 옵셔널 체이닝, 빠른 종료, 맵, 필터, 리듀스, 모나드 
     
    파트4 확장 
    서브스크립트, 상속, 타입캐스팅, 프로토콜, 익스텐션, 제네릭, 프로토콜 지향 프로그래밍 
     
    파트5 스위프트 고급 
    타입 중첩, 패턴, where 절, ARC, 오류처리, 메모리 안전
     
    하나의 언어를 제대로 공부를 한 사람이라면 거의 다 많이 들어본 내용들인데 옵셔널이나 프로토콜, 인스텍션 등은 최신 프로그래밍 스타일을 모르는 사람에게는 생소하게 느껴집니다. 이 책에 나오는 내용을 제대로 이해한다면 최신 개발 트렌드도 따라 잡을 수 있으리라 생각합니다.
     
    보통 프로그래밍 언어 문법을 설명하는 책은 지루하고 딱딱하기 쉬운데 ‘SWIFT 스위프트 프로그래밍 3판’은 부드럽게 잘 읽히는게 특징입니다. 번역서가 아니라 우리나라 사람이 직접 지은 책이고, 3판까지 오면서 내용이 잘 다듬어져서 그런 것 같습니다.


  • <나는 리뷰어다> 10월 이벤트 당첨으로 작성한 리뷰 입니다.


    [한줄평]

    스위프트로 함수형과 객체지향 프로그래밍 기법을 이책에서 배울수 있습니다.


    [목차구성]

    [PART I 스위프트 기초]

    CHAPTER 1 스위프트

    CHAPTER 2 스위프트 처음 시작하기

    CHAPTER 3 데이터 타입 기본

    CHAPTER 4 데이터 타입 고급

    CHAPTER 5 연산자

    CHAPTER 6 흐름 제어

    CHAPTER 7 함수

    CHAPTER 8 옵셔널


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

    CHAPTER 9 구조체와 클래스

    CHAPTER 10 프로퍼티와 메서드

    CHAPTER 11 인스턴스 생성 및 소멸

    CHAPTER 12 접근제어


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

    CHAPTER 13 클로저

    CHAPTER 14 옵셔널 체이닝과 빠른 종료

    CHAPTER 15 맵, 필터, 리듀스

    CHAPTER 16 모나드


    [PART IV 확장]

    CHAPTER 17 서브스크립트

    CHAPTER 18 상속

    CHAPTER 19 타입캐스팅

    CHAPTER 20 프로토콜

    CHAPTER 21 익스텐션

    CHAPTER 22 제네릭

    CHAPTER 23 프로토콜 지향 프로그래밍


    [PART V 스위프트 고급]

    CHAPTER 24 타입 중첩

    CHAPTER 25 패턴

    CHAPTER 26 where 절

    CHAPTER 27 ARC

    CHAPTER 28 오류처리

    CHAPTER 29 메모리 안전

    CHAPTER 30 불명확 타입


    [대상 독자]

    - 스위프트를 처음 배우는 현업 프로그래머

    - iOS 애플리케이션 개발 입문자

    - 기존 프로그래밍과 스위프트의 차이를 알고 싶은 대학생



    [주요 내용]

    Part 1. 스위프트 기초

    Part 2. 객체지향 프로그래밍과 스위프트

    Part 3. 함수형 프로그래밍과 스위프트

    Part 4. 확장

    Part 5. 스위프트 고급


    [서평]

    이책은 정말 스위프트 프로그래밍을 제대로 입문하고 싶은 개발자에 맞게 설계된 책입니다. 처음 스위프트로 개발을 하는 사람에게 객체지향, 함수형, 프로토콜 지향 패러다임까지 한번에 학습 할수 있습니다. 프로그램 설치 부터 시작해서 코딩을 어떻게 해야 하는지 정확히 알려 줍니다. 개발자가 실수 할 부분이 있는 곳에 잘 설명을 해줍니다. 입문자의 눈높이에서 가장 많이 어려워 하는 부분에 대해서 잘 설명한 책입니다. 

    스위프트를 제대로 이해할수 있도록 기본 개념과 스위프트 프로그래밍 방법론을 상세히 설명 합니다. 예제 통해서 코딩을 하면서 자연스럽게 몸에 익힐수 있습니다.

     

    이 책을 통해서 스위프트 프로그래밍 능력을 한단계 업그레이드 할수 있을 것이라 생각하여 강력 추천 합니다.



  • 이미지 1.jpg

     

     

    유튜브 주소 : https://youtu.be/2n-fSlW-jts

결재하기
• 문화비 소득공제 가능
• 배송료 : 0원배송료란?

배송료 안내

  • 책, 아이템 등 상품을 3만원 이상 구매시 무료배송
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 도서명 :
스위프트 프로그래밍(3판)
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
스위프트 프로그래밍(3판)
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
스위프트 프로그래밍(3판)
구입처*
구입일*
부가기호*
부가기호 안내

* 회원가입후 도서인증을 하시면 마일리지 500점을 드립니다.

* 한빛 웹사이트에서 구입한 도서는 자동 인증됩니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한됩니다.

* 절판도서, eBook 등 일부 도서는 도서인증이 제한됩니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실