728x90
반응형

JavaScript의 내부 프로퍼티와 외부 프로퍼티의 차이

 그리고 캡슐화

아래는 ECMA Script5 스펙에 정의되어있는 Internal Properties(내부 프로퍼티) 이다. 


내부 프로퍼티는 앞뒤로 [[프로퍼티명]] 으로 되어있으며 개발자가 직접적으로 해당 프로퍼티의 속성을 접근할 수가 없다. 

이에반해 외부 프로퍼티는 개발자가 직접 접근이 가능한 속성이다. 

객체지향적인 개념으로 볼때 내부 프로퍼티는 블랙박스(외부에 자신의 모습을 보여주지않는) 라고 할 수 있다. 

자바에서는 블랙박스를 private 접근제어자를 통해 구현하지만 JavaScript에서는 접근제어자가 따로 있지 않다.

하지만 제어자가 없을뿐이지 코드를 캡슐화 할수 없다는 뜻은아니다.

아래와 같이 객체안에서 var 로 선언한 property 나 method는 내부에서만 사용이 가능하다. 이것이 자바스크립트의

캡슐화라 볼수 있을것이다. 

[ 캡슐화 코드 ]

1
2
3
4
5
6
   blackBox=function(){
          var i=30;
          var ii=function(){
                return a;
          }
     }


 


728x90
반응형

+ Recent posts