[시작] - Swift에서 함수형 프로그래밍 패러다임을 이해하기 위해 반드시 알아야 하는 것 - 클로저, 제네릭, 프로토콜, 모나드 등이 결합하여 Swift는 더욱 강력한 언어가 되었음 - 클로저 : 일정 기능을 하는 코드를 하나의 블록으로 모아놓은 것 : 함수는 클로저의 한 형태- 클로저는 변수나 상수가 선언된 위치에서 참조를 획득하고 저장할 수 있음- 클로저의 세 가지 형태 : 이름이 있고, 어떠한 값도 획득하지 않는 전역함수의 형태 : 이름이 있고, 다른 함수 내부의 값을 획득할 수 있는 중첩함수의 형태 : 이름이 없고, 주변 문맥에 따라 값을 획득할 수 있는 축약 문법으로 작성된 형태- 클로저의 다양한 표현 : 매개변수와 반환값의 타입을 문맥을 통해 유추할 수 있으므로 생략 가능 : 단 한 줄의 ..
[시작] - 객체 지향 프로그래밍 패러다임의 '은닉화'와 관련됨 [접근제어] - 파일 간 / 모듈 간 접근을 제한 - 코드의 상세 구현은 숨기고 허용된 기능만 사용하는 인터페이스를 제공함 - 모듈 : 배포할 코드의 묶음 단위 : 하나의 프레임워크나 라이브러리 또는 애플리케이션 : import 키워드를 사용해 불러오는 것- 소스파일 : 하나의 Swift 소스 코드 파일 [접근수준] - 각 타입(클래스, 구조체, 열거형 등)에 특정 접근수준을 지정할 수 있음 - 타입 내부의 프로퍼티, 메서드, 생성자, 서브스크립트 각각에 접근수준을 지정할 수 있음- open / public / internal / fileprivate / private 1. public : 공개 접근 수준 : 어디서든 쓰일 수 있음 : 주로..
[인스턴스 생성] - 초기화 과정 시 새로운 인스턴스를 사용할 준비를 하기 위하여 저장 프로퍼티의 초기값을 설정하는 등의 일을 함 : 이니셜라이저(이하 생성자)를 정의하여 초기화 과정을 직접 구현할 수 있음- 생성자는 새로운 인스턴스를 생성하는 특별한 메서드- init 키워드를 사용- 클래스, 구조체, 열거형의 구현부 또는 해당 타입의 익스텐션 구현부에 위치함123456789101112131415161718192021222324252627282930class Class{ var name: String init() { name = "Swift" } init(name: String) { self.name = name }} struct Struct{ var name: String init() { name = ..