Swift에서 Closure를 사용하는 방법 총정리
Swift에서 클로저(Closure)의 정의, 문법, 고차 함수 활용 및 메모리 관리 방법을 알아보세요
Swift에서 Closure는 함수와 비슷한 개념이지만, 함수와 달리 이름이 없는 익명 함수입니다. 클로저는 코드 블록을 캡슐화하고 함수 내부에서 사용할 수 있습니다.
위 코드는 매개변수 param
을 받아 2를 곱한 값을 반환하는 클로저를 정의한 것입니다. 클로저는 함수와 마찬가지로 매개변수를 받고 반환값을 정의할 수 있습니다.
클로저는 다음과 같은 종류로 나뉩니다.
- 전역 함수: 이름이 있는 전역 변수에 할당된 클로저
- 중첩 함수: 함수 내부에 정의된 클로저
전역 함수는 이름이 있는 전역 변수에 할당된 클로저입니다. 전역 함수는 함수 내부에 정의된 클로저와 달리 함수 외부에서 정의됩니다.
중첩 함수는 함수 내부에 정의된 클로저입니다. 중첩 함수는 함수 내부에 정의되며, 함수 외부에서 정의할 수 없습니다.
클로저의 약식 인수 이름은 클로저 내부에서 매개변수를 참조하는 방법입니다. 약식 인수 이름은 매개변수 이름을 생략하고 사용할 수 있습니다.
단일 표현식에서 return
키워드를 생략되었고, in
키워드도 생략되었습니다.
Swift의 배열에서 흔히 사용하는 map, filter, reduce 함수는 클로저를 사용하여 배열을 처리합니다.