자바스크립트를 처음 공부해보는 학생입니다. 보통 getter setter로 데이터 접근 인터페이스를 설정하면서, 내부변수는 “_propertyName” 처럼 설정해서 단순 명시적으로만 내부변수임을 표시하던데 이 “_propertyName” 자체를 원천적으로 외부에서 접근 불가능하게 만드는 방법에는 대표적으로 어떤 것들이 있나요?
자바스크립트에도 클래스가 있지만, 많은 다른 언어의 클래스와는 다릅니다.자바스크립트는 상속이 클래스 기반이 아니라 프로토타입 기반입니다.
자바스크립트로 은닉을 구현하려면 클로저(Closure)를 사용해야 합니다.
클로저에 대해 이해하려면 알아야 할 게 많은데... 일단은 함수 안의 함수라고 생각하면 편합니다.
생성자에서 클로저를 통해 getter/setter를 제공할 수 있습니다.