[Javascript] 클로저(Closure)란?
클로저를 정의하는 말들은 여러가지가 있다. MDN에서는 아래와 같이 설명한다. 클로저는 독립적인 (자유) 변수를 가리키는 함수이다. 또는, 클로저 안에 정의된 함수는 만들어진 환경을 ‘기억한다’. 이게 무슨 말인가? 언뜻 봐서는 이해가 잘 가지 않는다. 클로저가 무엇인지 딱 한마디로 설명할 수 있기 위해 글을 정리한다. 무엇인가? 쉽게 말하면, 클로저는 함수 내부에 정의된 함수를 의미하며 조금 더 풀어서 설명하면 내부함수가 외부함수의 컨텍스트에 접근할 수 있는 것을 가르킨다. 특징 : 외부함수가 소멸된 이후에도 내부함수가 소멸된 외부함수의 변수에 접근 할 수 있다. 메모리에서는 여전히 기억하고 있기 때문에 이런 메커니즘을 클로저라고 한다. Closure라는 이름은 외부함수가 소멸된(Close) 이후에도 ..
IT/프로그래밍
2019. 5. 9. 14:47