카테고리 없음
iOS 5주차 (10.08)
k0223
2024. 10. 8. 20:25
Swift의 함수는 1급 객체입니다. 1급 객체(first class object) 또는 1급 시민(first class citizen)
- 변수에 저장할 수 있습니다.
- 매개변수로 전달할 수 있습니다.
- 리턴값으로 사용할 수 있습니다.
위의 조건을 총족하는 객체를 1급 객체라고 합니다.
Swift에서 사용되는 1급 객체의 예시를 정리한 표입니다.
함수 | 변수처럼 저장되고 전달될 수 있음 | func greet() { print("Hello") } |
클로저 | 변수처럼 저장되는 코드 블록 | { (name: String) -> Void in print("Hello, \(name)") } |
클래스 | 객체 지향 프로그래밍의 기본 단위 | class Person { var name: String } |
구조체 | 값 타입의 데이터 구조 | struct Point { var x: Int, var y: Int } |
프로토콜 | 특정 기능을 요구하는 청사진 | protocol Drawable { func draw() } |
함수의 일급 객체 ex)
클로저: 특정작업(함수)과 그 작업이 일어난 곳(환경 또는상태)을 모두 기억하고 있는 도구입니다.
- 익명함수
- C, C++, Objective-C의 block
- Java의 Lambda function
- C# 의 Delegates
- 클로저 표현식은 독립적인 코드 블록
클로저을 사용한 onilne swift의 캡처 장면입니다.