1. 클로저 (Closure)
ㅇ 함수와 함수의 참조환경
ㅇ 부모 함수 내 지역 변수의 참조를 갖는 자식 함수의 블록
- 어떤 부모 함수가 그 내부에 있는 자식 함수를 호출할 때,
- 자식 함수가 그 부모 함수의 지역 변수를 참조하는 경우
2. 클로저의 특징
ㅇ 변수를 은닉하여 지속성을 보장할 수 있는 등
- 특정 스코프 내 함수를 정의하면,
- 해당 스코프는 더 오래 유지 됨
ㅇ 접근 못하던 것에 대한 접근 방법이 생김
- 함수를 정의해서 클로저를 만들면,
- 접근할 수 없었던 것들에 대해 접근할 방법이 생김
ㅇ 데이터와 데이터를 조작하는 함수를 하나로 묶을 수 있음
- 마치 객체지향 프로그래밍과 유사하게 취급 가능
. 클로저를 감싸고 있는 부모 함수 => 생성자
. 클로저를 참조하는 외곽 함수 내 지역 변수 => 프로퍼티
. 클로저 자신 => 메소드
. 함수 호출 = > 인스턴스화
. 반환되는 클로저를 대입하게된 변수 => 인스턴스
ㅇ [자바스크립트]
- 자바스크립트의 모든 함수는, 클로저를 정의 가능