본문 바로가기

프로그래밍 세상/자바스크립트 이야기

제 10장. 모듈과 네임스페이스

 

모듈과 네임스페이스  예제

 

Script Sample 소스

   

 

Sample 실행 화면

 

 

< 설명 >

네임스페이스를 지정하는 이유는 중복을 피하기 위해서이다.

C#, Java 처럼 namespace, package 를 이용해서 구분하진 않지만, 흉내를 낼 수 있다.

위의 예제는 com.mainweb 네임스페이스를 지정하여, 하위에 Module 인스턴스를 생성한 경우이다.

Module 이라는 인스턴스를 만들 경우 네임스페이스를 다르게 할 경우 에러가 발생되지 않는다.

클로저를 사용하여 private 프로퍼티로 설정할 수 있다.

module 은 네임스페이스를 간결하게 표현하는 방법을 제시한다.

객체는 참조방식이므로 module 과 com.mainweb.Module은 같음을 알 수 있다.

그리고 module 인스턴스는 increase, decrease, setCounter, getCounter 라는 public 메서드와 counter 라는 private

프로퍼티를 가지고 있다.

counter 는 내부적으로 조회, 수정이 가능하지만, 외부적으로는 private 속성과 같이 직접 접근이 불가하다. counter 의

값을 변경 및 조회를 하기 위해 여러 메서드가 지정되어 있다.

실행화면을 보면 increase, decrease 및 setCounter 로 counter 값을 변경시킬 수 있음을 알 수 있으며,

직접 접근이 불가하다는 사실을 증명해준다.

module 인스턴스 내부를 살펴봐도, counter 프로퍼티는 없음을 알 수 있다.