
1. 일급 객체
- 스위프트는 객체지향 언어이자 동시에 함수형 언어이다.
- 함수형 언어를 학습하게 되면 반드시 일급 객체(First-Class Object)라는 용어를 접하게 된다, 이는 프로그램 언어 안에서 특정 종류의 객체가 일급의 지위를 가지는가에 대한 의미입니다.
2. 일급 객체의 특성
- 변수나 상수에 함수를 대입할 수 있다.
- 함수의 반환타입으로 함수를 사용할 수 있다.
- 함수의 인자값으로 함수를 사용할 수 있다.
3. 함수의 중첩
- Swift에서는 함수를 중첩할 수 있으며, 이를 '중첩함수' 라고 한다.
- 외부함수가 종료되면 내부함수도 종료가 되는데 이를 '내부함수의 생명주기'라고 한다.
func basic(param: Int) -> (Int) -> Int {
let value = param + 20
func append(add: Int) -> Int {
return value + add
}
return append
}
1. let result = basic(param: 10)
2. result(10)