• 기본 익히기
    • 상수와 변수
    • 소수점 수
  • 기본 연산자
    • 할당(Assignment)
    • 연산자(+-*/)
    • 증감 연산
    • Compound Assignment Operator
    • 비교 연산자
    • Ternary Coditional Operator
    • Nil Coalescing Operator
    • Range Operator
    • Half-Open Range Operator
    • 논리 연산자
  • 문자열과 문자
    • 문자열 (String Literals)
    • 문자열 초기화
    • 빈 문자열
    • 문자열 가변성(String Mutability)
    • 문자열은 Value Type
    • 문자 처리
    • 문자와 문자열 연결하기
    • String Interpolation (붙이기)
    • 유니코드(Unicode)
    • 특수문자
    • 문자 갯수 세기
    • 문자열 접근 및 수정
    • 문자열 비교
    • 문자열의 유니코드 표현(Unicode Representation of Strings)
  • Collection 타입
    • 콜렉션의 변이성
    • 배열
    • 집합(Set)
    • Set 연산
    • Dictionaries
  • 제어문
    • loop
    • while
    • 조건문
    • switch
    • where
    • Control Transfer 절
      • continue, break, fallthrough, return, throw
    • API 가능성 검사하기 (Checking API Availability)
  • 함수
    • 함수 정의 및 호출
    • 인자 및 반환 값
    • 함수 타입
    • Nested 함수
  • 클로져
    • 클로져 표현
    • Trailing 클로져
    • Capturing values
    • Closures Are Reference Types
  • Enumeration
    • 문법
    • Switch와 Enumeration
    • Associated Values
    • Raw Values
    • Recursive Enumerations
  • 클래스와 구조체
    • Class와 구조체
    • 구조체는 Value Type
    • Class는 Reference Type
    • Class와 구조체 사이에서 선택
    • String, Array, Dictionary 할당과 복사
  • 속성(Property)
    • Stored Property
    • Computed Property
    • Property Observers
    • 전역/지역 변수
    • Typed Property
  • 메소드(Method)
    • Instance 메소드
    • Type 메소드
  • Subscript
    • 문법
    • 사용
    • 옵션
  • 상속(Inheritance)
    • 기본 class
    • subclass
    • overriding
    • overriding 방지
  • 초기화(Initialization)
    • stored property에 대해서 초기값 설정
    • customizing 초기화
    • 기본 초기화
    • Initializer Delegation for Value Type
    • Class 상속 및 초기화
    • Failable 초기화
    • Required 초기화
    • 클로져나 함수에서 기본 property 값 설정
  • Deinitialization
    • Deinitialization 동작 원리
    • Deinitializer in Action 동작
  • 자동 참조 카운트(Automatic Reference Counting)
    • ARC 동작 원리
    • ARC in Action
    • Strong reference 싸이클 (Class instance 사이에서)
    • Resolving Strong Reference Cycles Between Class Instances
    • Strong reference cycles for Closures
    • Resolving Strong Reference Cycles for Closures
  • Optional chanining
    • Optional Chaining as an Alternative to Forced Unwrapping
    • Optional Chaining을 위한 Model Class 정의
    • Accessing Property
    • Calling Method
    • Accessing Subscripts
    • Linking Multiple
    • Chaining on Methods with Optional Return Values
  • 에러 처리(Error Handling)
    • Error 표현 및 throw
    • 에러 처리
    • Cleanup Action 지정
  • 타입 캐스팅(Type casting)
    • type casting을 위한 class 계층 정의
    • type 검사
    • downcasting
    • 다른 객체에 대한 type casting
  • Netsted typed
    • Nested types in Action
    • Refering to Nested Type
  • Extension
    • 문법
    • Computed Property
    • 초기화
    • Method
  • 프로토콜
    • 문법
    • Property 요구사항
    • Method 요구사항
    • 초기화 요구사항
    • Protocols as types
    • Delegation
    • Adding Protocol Conformance with an Extension
    • Collection of Protocol Types
    • Protocol 상속
    • Class-Only 프로토콜
    • Protocol Composition
    • Checking for Protocol Conformance
    • Optional Protocol 요구사항
    • 확장
  • 제네릭(Generic)
    • Generics이 해결하는 문제
    • Generic 함수
    • type parameters
    • Generic type
    • Generic 타입 확장
    • Type Constraints
    • Associated Type
    • Where Clauses
  • 접근 제어 (Access Control)
    • 모듈과 소스 파일
    • access 레벨
    • 문법
    • 초기화
    • 프로토콜
    • 확장
  • 연산자
    • bit 연산자
    • overflow
    • precedence and associativity
    • operator 함수
    • custom operator
  • 실습
    • 도씨 화씨
    • 문자 카운팅
    • 라인 카운팅
    • word 카운팅
    • 각 문자 빈도 카운팅
    • word의 길이 빈도 카운팅
    • power(base, n)
    • 가장 긴 라인
    • blank 지우기
    • tab지우기
    • reverse(s)
    • comment 삭제 (c코드에서)