모듈과 네임스페이스 의 예제 |
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 프로퍼티는 없음을 알 수 있다. |
'프로그래밍 세상 > 자바스크립트 이야기' 카테고리의 다른 글
제 15장. 문서 스크립팅 (0) | 2012.03.03 |
---|---|
제 14장. 브라우저 창 스크립팅 (0) | 2012.02.26 |
제 13장. 웹 브라우저와 자바스크립트 (0) | 2012.02.23 |
제 12장. 자바스크립팅 (0) | 2012.02.16 |
제 11장. 정규 표현식을 사용한 패턴 매칭 (0) | 2012.02.14 |
제 9장. 클래스, 생성자, 프로토타입 (0) | 2012.02.13 |
제 8장. 함수 (0) | 2012.01.30 |
제 7장. 객체와 배열 (0) | 2012.01.30 |
제 6장. 문장 (0) | 2012.01.21 |
제 5장. 표현식과 연산자 (0) | 2012.01.21 |