Closure

클로저는 어떤 함수가 주변 상태(렉시컬 환경)에 대한 참조와 함께 번들로 묶인(포함된) 함수의 조합이다. 즉, 클로저를 사용하면 내부함수에서 외부함수의 범위에 접근할 수 있다. 자바 스크립트에서는 함수가 생성될 때 마다 클로저가 생성된다.

  • 클로저(closure)는 내부함수가 외부함수의 맥락(context)에 접근할 수 있는 것을 가리킨다.
  • 클로저는 독립적인 (자유)변수를 가리키는 함수이다. 또는, 클로저 안에 정의된 함수는 만들어진 환경을 기억한다.

References

  • https://opentutorials.org/course/743/6544
  • https://www.geeksforgeeks.org/closures-in-java-with-examples/
  • https://stackoverflow.com/questions/3805474/what-is-a-closure-does-java-have-closures/3805546
  • https://hyunseob.github.io/2016/08/30/javascript-closure/
  • https://poiemaweb.com/js-closure
  • https://developer.mozilla.org/en-US/docs/Web/JavaScript/Closures