728x90
반응형
JavaScript의 내부 프로퍼티와 외부 프로퍼티의 차이
그리고 캡슐화
아래는 ECMA Script5 스펙에 정의되어있는 Internal Properties(내부 프로퍼티) 이다.
내부 프로퍼티는 앞뒤로 [[프로퍼티명]] 으로 되어있으며 개발자가 직접적으로 해당 프로퍼티의 속성을 접근할 수가 없다.
이에반해 외부 프로퍼티는 개발자가 직접 접근이 가능한 속성이다.
객체지향적인 개념으로 볼때 내부 프로퍼티는 블랙박스(외부에 자신의 모습을 보여주지않는) 라고 할 수 있다.
자바에서는 블랙박스를 private 접근제어자를 통해 구현하지만 JavaScript에서는 접근제어자가 따로 있지 않다.
하지만 제어자가 없을뿐이지 코드를 캡슐화 할수 없다는 뜻은아니다.
아래와 같이 객체안에서 var 로 선언한 property 나 method는 내부에서만 사용이 가능하다. 이것이 자바스크립트의
캡슐화라 볼수 있을것이다.
[ 캡슐화 코드 ]
728x90
반응형