폐쇄란 무엇인가요?
컴퓨터 과학에서 클로저(영어: Closure)는 어휘 클로저(Lexical Closure) 또는 함수 클로저(function closure)라고도 알려져 있으며, 자유 변수를 참조하는 함수입니다. 참조된 자유 변수는 그것이 생성된 환경을 떠난 후에도 함수에 남아 있습니다.
그래서 클로저는 함수와 관련 참조 환경으로 구성된 엔터티라고 말하는 또 다른 방법이 있습니다. 클로저는 런타임에 여러 인스턴스를 가질 수 있으며, 서로 다른 참조 환경과 동일한 함수 조합이 서로 다른 인스턴스를 생성할 수 있습니다.
클로저 개념은 1960년대에 등장했으며, 클로저를 구현한 최초의 프로그래밍 언어는 Scheme이었습니다. 이후 ML, LISP 등 함수형 프로그래밍 언어에서는 클로저가 널리 사용됐다. 많은 명령형 프로그래밍 언어도 클로저를 지원하기 시작했습니다.
일부 언어에서는 함수 내에 다른 함수를 정의(중첩)할 수 있는 경우 내부 함수가 외부 함수의 변수를 참조하면 클로저가 발생할 수 있습니다. 런타임 시 외부 함수가 실행되면 내부 함수의 코드와 필요한 외부 함수의 변수에 대한 참조를 포함하는 클로저가 형성됩니다. 참조되는 변수를 upvalue라고 합니다.
클로저라는 용어는 종종 익명 함수와 혼동됩니다. 둘이 함께 사용되는 경우가 많기 때문일 수도 있지만, 서로 다른 개념입니다.
위 내용은 폐쇄란 무엇인가의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!