메소드 상속과 관련된 개념을 학습해보자.
다음처럼 Person 생성자 프로토타입에 함수를 생성하자.
클로저는 선언당시에 환경이라고 생각하면 된다.
클로저 개념을 이해하기위해 극단적인 예를 들어보면
만약 함수안에서 값이 1초마다 1씩 증가한다고 할 때
내가 함수를 선언하는 그 순간에 시간이 5초라면
그 함수의 시간은 5초에 머물러있는다.
즉 클로저 개념에 의해 선언 당시의 환경으로 구성되어 있는 것이다.
자바 등의 여러 언어에서는
메소드는 프로퍼티를 Private하게 선언할 수 있는 기능을 제공하는데
JS에서는 제공하지 않는다.
그래서 클로저를 통해 흉내낼 수 있게 된다.