You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
클로저란 다른 프로그래밍 언어의 람다와 비슷한 요소이다. 변수나 상수가 선언된 위치에서 Reference를 Capture하고 저장할 수 있다.
이것은 변수의 클로징 혹은 상수의 클로징이라고 부르는데 여기서 클로저라는 이름이 나온 것이다.
클로저의 세가지 형태
이름이 있으며 어떤 값도 획득하지 않는 전역 함수
이름이 있고 다른 함수 내부의 값을 획득할 수 있는 중첩된 함수의 형태
이름이 없고 주변 문맥에 따라 값을 획득할 수 있는 축약 문법으로 작성한 형태
{ (매개변수) -> 반환 타입 in
실행 코드
}
단축 인자($0, $1, $2, ...)를 이용해서 편리하게 보여주고 in과 같은 키워드를 생략하는 것도 가능하다.
값 획득 (Capture)
클로저가 주변에 정의한 상수, 변수가 더 이상 존재하지 않아도 해당 상수나 변수 값을 자신 내부에서 참조하고 수정할 수 있다.
비동기 작업에 유용한 특성이다. 클로저를 이용하여 비동기 콜백을 작성하는 경우, 현재 상태를 미리 획득하지 않으면
실제로 클로저의 기능을 실행하는 순간에 주변에 상수나 변수가 이미 메모리에 존재하지 않는 경우가 있다.
No description provided.
The text was updated successfully, but these errors were encountered: