[Swift] 클로저 개념 완벽 이해하기
·
Apple/Swift
지난 포스팅에서 클로저에 대해 다뤘었는데 너무 사전적으로만 정리해서 그런지 크게 와닿지가 않아서 클로저의 개념을 다시 한 번 더 쉽게 풀어서 설명해보겠습니다! (사실은 제가 봐도 이해가 잘 안 가서 다시 쓰게 됐어요 ㅎ) (지난번 포스팅이 궁금하신 분들은 여기를 참고해주세요!) 우선 클로저는 크게 2가지가 있습니다. 우리가 흔히 쓰는 func 키워드로 정의한 이름이 붙어있는 함수와 이름이 없는 함수 즉, 익명 함수 이렇게 2가지가 있습니다. 한 눈에 이해하기 위해 그림을 만들어 봤습니다! 이렇게 Named Closure와 Unnamed Closure가 있는데 우리가 지금까지 선언했던 이름이 있는 함수들은 Named Closure입니다. 하지만 이 Named Closure를 클로저라고 부르지는 않고 그냥 ..
[Swift] 클로저(Closure)
·
Apple/Swift
클로저(Closure) Swift에서 클로저(Closure)는 독립적으로 실행 가능한 코드 블록입니다. 클로저는 함수와 비슷한 역할을 하며, 코드를 캡슐화하고 전달할 수 있습니다. 클로저는 일급 객체(First-class citizen)로 취급되어 변수나 상수에 할당하거나 함수의 인자로 전달하고 반환값으로 사용할 수 있습니다. 쉽게 말해서 클로저는 특정 작업(함수)과 그 작업이 일어난 곳(환경 or 상태)을 모두 기억하고 있는 도구라고 생각하시면 됩니다. 클로저는 아래와 같은 형태를 가지고 있습니다. 클로저 표현식 { (: , ... ) -> in // 클로저 표현식 코드(실행될 코드) } 여기서 매개변수, 반환타입, 그리고 실행될 코드 부분은 각각 생략 가능합니다. 클로저의 매개변수와 반환타입은 필요에..