728x90
반응형
지난 포스팅에서 클로저에 대해 다뤘었는데 너무 사전적으로만 정리해서 그런지 크게 와닿지가 않아서 클로저의 개념을 다시 한 번 더 쉽게 풀어서 설명해보겠습니다! (사실은 제가 봐도 이해가 잘 안 가서 다시 쓰게 됐어요 ㅎ)
(지난번 포스팅이 궁금하신 분들은 여기를 참고해주세요!)
우선 클로저는 크게 2가지가 있습니다. 우리가 흔히 쓰는 func 키워드로 정의한 이름이 붙어있는 함수와 이름이 없는 함수 즉, 익명 함수 이렇게 2가지가 있습니다.
한 눈에 이해하기 위해 그림을 만들어 봤습니다!
이렇게 Named Closure와 Unnamed Closure가 있는데 우리가 지금까지 선언했던 이름이 있는 함수들은 Named Closure입니다.
하지만 이 Named Closure를 클로저라고 부르지는 않고 그냥 함수라고 부릅니다.
반대로 이름이 없는 함수(익명함수), 즉 Unnamed Closure를 클로저라고 부릅니다.(물론 둘 다 클로저라는 것은 변하지 않습니다)
정리를 해보자면 클로저는 Named Closure와 Unnamed Closure 둘 다 포함되지만, 일반적으로 클로저라고 한다면 Unnamed Closure를 말하는 것입니다!
감사합니다.
틀린 부분이 있거나 더 좋은 내용 훈수 환영합니다!
공감과 댓글 부탁드립니다.
728x90
반응형
'Apple > Swift' 카테고리의 다른 글
[Swift] 저장 프로퍼티와 지연 저장 프로퍼티(Stored Properties, Lazy Stored Properties) (2) | 2023.10.19 |
---|---|
[Swift] 후행 클로저(trailing closure) (0) | 2023.10.18 |
[Swift] 클로저(Closure) (0) | 2023.10.16 |
[Swift] 1급 객체 (first class object), 1급 시민 (first class citizen) (0) | 2023.10.13 |
[Swift] 가변 매개변수, call by address 구현 (0) | 2023.10.12 |