[iOS_Swift] 클로저(1) - 1급 객체(First-class Citizen)
클로저를 이해하기 위해서는 먼저 1급 객체(First-class Citizen)에 대한 이해가 반드시 수반되어야한다. 1급 객체란 어떠한 객체가 다음과 같은 조건을 만족할 때 1급 객체라고 한다. 1. 변수나 상수에 객체를 저장할 수 있는가? 2. 객체를 어떤 함수의 매개변수로 전달할 수 있는가? 3. 객체를 어떤 함수의 반환값으로 지정할 수 있는가? 이러한 조건을 충족할 때 우리는 해당 언어를 함수형 프로그래밍 언어라고 할 수 있다. 개인적으로 여기서 객체라는 개념이 늘 헷갈리는데(클래스나 구조체의 인스턴스 등) 여기서 말하는 객체, 함수형 프로그래밍 언어에서의 1급 객체는 '함수'를 의미하기도 한다! 좀 더 자세하게 함수가 어떻게 1급 객체의 요건을 충족시키는지 살펴보자 1. 변수나 상수에 객체(함수..
2021.10.25