이 상품은 구매 후 지원 기기에서 예스24 eBook앱 설치 후 바로 이용 가능한 상품입니다.
|
PART I 스위프트 기초CHAPTER 1 스위프트__1.1 스위프트의 역사__1.2 스위프트의 언어적 특성____1.2.1 객체지향____1.2.2 함수형____1.2.3 프로토콜 지향__1.3 스위프트 실행 환경____1.3.1 Xcode - 플레이그라운드____1.3.2 REPL____1.3.3 웹____1.3.4 모바일CHAPTER 2 스위프트 처음 시작하기__2.1 기본 명명 규칙__2.2 콘솔 로그____2.2.1 print() 함수____2.2.2 문자열 보간법__2.3 주석____2.3.1 주석 남기기____2.3.2 마크업 문법을 활용한 문서화 주석__2.4 변수와 상수____2.4.1 변수____2.4.2 상수CHAPTER 3 데이터 타입 기본__3.1 Int와 UInt__3.2 Bool__3.3 Float과 Double__3.4 Character__3.5 String____3.5.1 특수문자__3.6 Any, AnyObject와 nilCHAPTER 4 데이터 타입 고급__4.1 데이터 타입 안심____4.1.1 데이터 타입 안심이란____4.1.2 타입 추론__4.2 타입 별칭__4.3 튜플__4.4 컬렉션 타입____4.4.1 배열____4.4.2 딕셔너리____4.4.3 세트__4.5 열거형____4.5.1 기본 열거형____4.5.2 원시 값____4.5.3 연관 값____4.5.4 순환 열거형CHAPTER 5 연산자__5.1 연산자의 종류____5.1.1 할당 연산자____5.1.2 산술 연산자____5.1.3 비교 연산자____5.1.4 삼항 조건 연산자____5.1.5 범위 연산자____5.1.6 부울 연산자____5.1.7 비트 연산자____5.1.8 복합 할당 연산자____5.1.9 오버플로 연산자____5.1.10 기타 연산자__5.2 연산자 우선순위와 결합방향__5.3 사용자정의 연산자____5.3.1 전위 연산자 정의와 구현____5.3.2 후위 연산자 정의와 구현____5.3.3 중위 연산자 정의와 구현CHAPTER 6 흐름 제어__6.1 조건문____6.1.1 if 구문____6.1.2 switch 구문__6.2 반복문____6.2.1 for-in 구문____6.2.2 while 구문____6.2.3 repeat-while 구문__6.3 구문 이름표CHAPTER 7 함수__7.1 함수와 메서드__7.2 함수의 정의와 호출____7.2.1 기본적인 함수의 정의와 호출____7.2.2 매개변수____7.2.3 반환 타입____7.2.4 데이터 타입으로서의 함수__7.3 중첩 함수__7.4 종료되지 않는 함수__7.5 반환 값을 무시할 수 있는 함수CHAPTER 8 옵셔널__8.1 옵셔널 사용__8.2 옵셔널 추출____8.2.1 강제 추출____8.2.2 옵셔널 바인딩____8.2.3 암시적 추출 옵셔널PART II 객체지향 프로그래밍과 스위프트CHAPTER 9 구조체와 클래스__9.1 구조체____9.1.1 구조체 정의____9.1.2 구조체 인스턴스의 생성 및 초기화__9.2 클래스____9.2.1 클래스 정의____9.2.2 클래스 인스턴스의 생성과 초기화____9.2.3 클래스 인스턴스의 소멸__9.3 구조체와 클래스의 차이____9.3.1 값 타입과 참조 타입____9.3.2 스위프트의 기본 데이터 타입은 모두 구조체__9.4 구조체와 클래스 선택해서 사용하기CHAPTER 10 프로퍼티와 메서드__10.1 프로퍼티____10.1.1 저장 프로퍼티____10.1.2 지연 저장 프로퍼티____10.1.3 연산 프로퍼티____10.1.4 프로퍼티 감시자____10.1.5 전역변수와 지역변수____10.1.6 타입 프로퍼티____10.1.7 키 경로__10.2 메서드____10.2.1 인스턴스 메서드____10.2.2 타입 메서드CHAPTER 11 인스턴스 생성 및 소멸__11.1 인스턴스 생성____11.1.1 프로퍼티 기본값____11.1.2 이니셜라이저 매개변수____11.1.3 옵셔널 프로퍼티 타입____11.1.4 상수 프로퍼티____11.1.5 기본 이니셜라이저와 멤버와이즈 이니셜라이저____11.1.6 초기화 위임____11.1.7 실패 가능한 이니셜라이저____11.1.8 함수를 사용한 프로퍼티 기본값 설정__11.2 인스턴스 소멸CHAPTER 12 접근제어__12.1 접근제어란____12.1.1 접근제어의 필요성____12.1.2 모듈과 소스파일__12.2 접근수준____12.2.1 공개 접근수준, public____12.2.2 개방 접근수준, open____12.2.3 내부 접근수준, internal____12.2.4 파일외부비공개 접근수준, fileprivate____12.2.5 비공개 접근수준, private__12.3 접근제어 구현__12.4 접근제어 구현 참고사항__12.5 private와 fileprivate__12.6 읽기 전용 구현PART III 함수형 프로그래밍과 스위프트CHAPTER 13 클로저__13.1 기본 클로저__13.2 후행 클로저__13.3 클로저 표현 간소화____13.3.1 문맥을 이용한 타입 유추____13.3.2 단축 인자 이름____13.3.3 암시적 반환 표현____13.3.4 연산자 함수__13.4 값 획득__13.5 클로저는 참조 타입__13.6 탈출 클로저____13.6.1 withoutActuallyEscaping__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 복수 서브스크립트CHAPTER 18 상속__18.1 클래스 상속__18.2 재정의____18.2.1 메서드 재정의____18.2.2 프로퍼티 재정의____18.2.3 프로퍼티 감시자 재정의____18.2.4 서브스크립트 재정의____18.2.5 재정의 방지__18.3 클래스의 이니셜라이저 - 상속과 재정의____18.3.1 지정 이니셜라이저와 편의 이니셜라이저____18.3.2 클래스의 초기화 위임____18.3.3 2단계 초기화____18.3.4 이니셜라이저 상속 및 재정의____18.3.5 이니셜라이저 자동 상속____18.3.6 요구 이니셜라이저CHAPTER 19 타입캐스팅__19.1 기존 언어의 타입 변환과 스위프트의 타입 변환__19.2 스위프트 타입캐스팅__19.3 데이터 타입 확인__19.4 다운캐스팅__19.5 Any, AnyObject의 타입캐스팅CHAPTER 20 프로토콜__20.1 프로토콜이란__20.2 프로토콜 정의__20.3 프로토콜 요구사항____20.3.1 프로퍼티 요구____20.3.2 메서드 요구____20.3.3 가변 메서드 요구____20.3.4 이니셜라이저 요구__20.4 프로토콜의 상속과 클래스 전용 프로토콜__20.5 프로토콜 조합과 프로토콜 준수 확인__20.6 프로토콜의 선택적 요구__20.7 프로토콜 변수와 상수__20.8 위임을 위한 프로토콜CHAPTER 21 익스텐션__21.1 익스텐션이란__21.2 익스텐션 문법__21.3 익스텐션으로 추가할 수 있는 기능____21.3.1 연산 프로퍼티____21.3.2 메서드____21.3.3 이니셜라이저____21.3.4 서브스크립트____21.3.5 중첩 데이터 타입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.2.1 강한참조 순환 문제__27.3 약한참조__27.4 미소유참조__27.5 미소유참조와 암시적 추출 옵셔널 프로퍼티__27.6 클로저의 강한참조 순환____27.6.1 획득목록CHAPTER 28 오류처리__28.1 오류처리란__28.2 오류의 표현__28.3 오류 포착 및 처리____28.3.1 함수에서 발생한 오류 알리기____28.3.2 do-catch 구문을 이용하여 오류처리____28.3.3 옵셔널 값으로 오류처리____28.3.4 오류가 발생하지 않을 것이라고 확신하는 방법____28.3.5 다시던지기____28.3.6 후처리 defer부록__A. 스위프트의 주요 프로토콜__B. 스위프트의 주요 함수__C. 스위프트의 예약어__D. 디버깅 식별자__E. 컴파일러 제어 구문____E.1 조건부 컴파일 블록____E.2 라인 제어 구문__F. 사용 가능 조건 확인__G. 속성____G.1 선언 속성____G.2 타입 속성__H. 타입 별칭 및 호환 타입7. 관련 서적 (제목 ISBN)● 이것이 iOS다 / 9788968484759
|
야곰의 다른 상품
|
스위프트를 제대로 이해하고 싶은 개발자를 위한 책스위프트는 애플 관련 애플리케이션 개발에서 주로 사용하는 프로그래밍 언어입니다. 그런 이유로 보통 스위프트 서적이 출간되면 애플 개발 관련 내용을 중심으로 스위프트를 다룹니다. 하지만 스위프트는 오픈 소스로 공개된 이후 다양한 분야에서 사용하려는 시도가 늘고 있어, 스위프트를 제대로 이해하려면 스위프트라는 프로그래밍 언어 고유의 특징을 잘 알아야 합니다.이 책은 ‘스위프트를 제대로 이해하자’라는 콘셉트를 충실히 지키고자 스위프트의 기본 개념과 함께 함수형 및 프로토콜 지향 프로그래밍 패러다임을 이용하는 스위프트 프로그래밍 방법론을 소개합니다. 이러한 방법론을 다양한 예제를 코딩하면서 자연스럽게 익힐 수 있도록 했습니다. 또한 기존 『스위프트 프로그래밍』의 내용을 기반으로 2017년 6월 공개한 스위프트 4 스펙에 맞춰 내용을 수정하고 보강했습니다.★ Part 1. 스위프트 기초스위프트의 역사와 데이터 타입, 연산자, 흐름 제어, 함수, 옵셔널 등 스위프트로 프로그래밍하는 데 꼭 필요한 기초 문법을 살펴봅니다. 특히 흐름 제어는 다른 프로그래밍 언어와 차이가 있으므로 반드시 살펴봐야 하는 부분입니다.★ Part 2. 객체지향 프로그래밍과 스위프트많은 프로그래머에게 익숙한 객체지향 프로그래밍 방식으로 스위프트를 사용하는 핵심 문법인 구조체, 클래스, 프로퍼티, 메서드, 인스턴스 등을 소개합니다.★ Part 3. 함수형 프로그래밍과 스위프트함수형 프로그래밍 패러다임으로 스위프트를 사용하는 데 필요한 핵심 문법이 모여 있습니다. 다른 프로그래밍 언어의 람다 개념인 클로저, 옵셔널로 지정된 객체지향 요소를 다루는 옵셔널 체이닝, 대부분의 함수형 프로그래밍 언어에서 등장하는 개념인 맵, 필터, 리듀스, 모나드 등을 소개합니다.★ Part 4. 확장스위프트에서 타입의 기능을 확장하는 방법은 많습니다. 기능이나 속성을 물려받아 수직 확장할 수 있는 상속도 있고, 타입에 기능을 추가하여 수평적으로 확장할 수 있는 익스텐션도 있습니다. 다양한 확장 기법으로 타입을 더욱 유용하게 사용할 수 있도록 구성하는 방법을 알아봅니다.★ Part 5. 스위프트 고급스위프트를 더욱 강력하고 유용하게 사용할 수 있도록 도와줄 고급 기능과 문법에 대해 알아봅니다. 메모리 관리를 위해 꼭 알아두어야 할 ARC, 각종 오류를 제어하는 기법도 살펴봅니다.★ Etc Part. 동영상 강의도 만나보세요.다음 3개 사이트에서 이 책의 무료 동영상 강의를 만나볼 수 있습니다.- GitHub 페이지: https://yagom.github.io/swift_basic- 구름EDU: https://edu.goorm.io/lecture/1141/야곰의-스위프트-프로그래밍- 인프런: https://www.inflearn.com/course/스위프트-기본-문법★ 대상 독자- 스위프트를 처음 배우는 현업 프로그래머- 기존 프로그래밍과 스위프트의 차이를 알고 싶은 대학생6. 추천사“예제 하나하나, 독자가 따라갈 수 있도록 신경 쓴 배려가 돋보입니다.”서관희 / 원더스쿼드 대표, 전 손노리 개발 실장, 엔트리브 소프트 대표 “이 책은 스위프트 언어를 배우는 바른길을 제시합니다.”윤성관(lingostar) / (주)코더스하이 대표, Apple Distinguished Educator“프로그래밍 패러다임의 변화에 따른 스위프트다운 프로그래밍 방식을 배울 수 있습니다.”김정(godrm) / OSXDev.org 운영진, 코드스쿼드 대표“현업에서 스위프트를 사용하는 개발자도 레퍼런스로 활용할 수 있을 것입니다.”전수열(devxoul) / StyleShare 소프트웨어 엔지니어
|