chaneeii / iOS-Study-Log

✨ iOS에 대해 공부한 것들을 기록합니다 ✨
18 stars 0 forks source link

클로저 (Closure) ☃️ #22

Open chaneeii opened 1 year ago

chaneeii commented 1 year ago

클로저 (Closure) ☃️

드디어! 클로저 정리!

클로저는 일정 기능을 하는 코드를 하나의 블록으로 모아놓은 것을 말한다. (함수도 클로저의 한 형태이다.)

클로저는 변수나 상수가 선언된 위치에서 참조(Reference)를 획득(Capture)하고 저장할 수 있다. ➡️ 이를 변수나 상수의 클로징 (잠금)이라고 하며, 클로저는 여기서 착안된 이름이다. ➡️ 이때, 획득 때문에 메모리에 부담이 가는가 걱정할 수 도 있지만, 스위프트는 스스로 메모리를 관리하여 괜찮다

클로저의 몇가지 모양 중 하나가 함수인 것 같이 클로저는 몇가지 모양이 있다. 클로저에는 3가지 형태가 있다.

  1. 이름이 있으면서, 어떤 값도 획득하지 않는 전역함수의 형태
  2. 이름이 있으면서, 다른 함수 내부의 값을 획득할 수 없는 중첩된 함수의 형태
  3. 이름이 없고, 주변 문맥에 따라 값을 획득할 수 있는 축약문법으로 작성한 형태