Swift 입문 | 함수 리터럴 및 클로저 | 함수는 "값"이다!


Swift 함수에는 매우 중요한 고유의 특성이 있다. 그것은 “값으로 취급"하는 것이다. 함수는 처리를 요약 한 것이지만, 이 함수 자체도 Swift에서는 “값"이다.

실제로 간단한 예제를 실행해 보자.

func calc(num:Int)->Int {
    var res = 0
    for n in 0...num {
        res += n
    }
    return res
}
 
var f1 = calc
 
print(f1(10))

위에 예제는 calc라는 함수를 정의하고 있다. 그리고 이 calc을 변수 f1에 대입한 다음에 이 변수 f1에 인수로 호출한다.

이제 제대로 calc의 처리가 실행되고 결과를 얻을 수 있다. 즉, 변수 f1에 calc 함수가 할당되어 제대로 작동하고 있다.

이 “함수는 값이다"라는 특징 덕분에, Swift에는 다양한 형태로 함수를 취급할 수 있다. 우선 이 “함수는 값"이라는 점을 확실히 기억하도록 하자.