Note ≡ 그래서 클로저가 도대체 뭔데요?
클로저는 컴퓨터 과학에서 사용되는 용어로, 프로그래밍에 익숙하지 않거나 이론을 공부하지 않은 경우 생소하게 느껴질 수 있습니다. 하지만 보기만큼 어렵지 않으니 걱정하지 마세요.
프로그래밍 언어에서 ‘클로저’는 함수 정의의 현재 범위 외부에 정의된 변수들이 ‘닫혀 있음’을 의미합니다. 즉, 함수가 특정한 방식으로 이 변수들을 확인하고 나중에 함수가 호출될 때 계속해서 사용될 수 있음을 의미합니다.
앞으로 살펴보겠지만 대부분의 프로그래밍 언어가 변수를 값으로 확인하는 반면에 파이썬은 변수의 이름으로 확인합니다.
만약 최신 JavaScript로 매우 비슷한 프로그램을 작성한다면 아마 예상한 그대로 동작할 것입니다. 예전 버전의 JavaScript에는 파이썬과 유사하게 동작하는 function 예약어가 있지만, 최근 몇 년 동안에는 화살표 함수(arrow function)를 훨씬 더 많이 사용합니다.