함수 내부에서 정의된 함수가 외부 함수의 지역 변수를 참조하고, 외부 함수 실행이 끝난 뒤에도 그 변수를 기억하는 함수.
상태 유지 캡슐화 (외부에서 변수 직접 접근 차단)
→ inner 함수는 외부 함수 outer의 변수 x=5를 기억하고 있음. add5는 사실상 "y를 받아서 5 + y를 계산하는 함수 객체" 이때 x=5 값은 add5 함수 객체의 내부 속성(closure)에 저장됨