<!--StartFragment--><script type="text/javascript">
        // 생성자 함수를 선언
        function Rectangle(w, h) {
            var width = w;
            var height = h;

            this.getWidth = function () {
                return width;
            };
            this.getHeight = function () {
                return height;
            };
            this.setWidth = function (value) {
                if (value < 0) {
                    // throw는 웹 페이지 오류를 발생시키는 키워드
                    throw '길이는 음수일 수 없습니다.';
                } else {
                    width = value;
                }
            };
            this.setHeight = function (value) {
                if (value < 0) {
                    throw '길이는 음수일 수 없습니다.';
                } else {
                    height = value;
                }
            };
        }

        Rectangle.prototype.getArea = function () {
            return this.getWidth() * this.getHeight();
        };

        // 변수를 선언
        var rectangle = new Rectangle(5, 7);

        // 출력
        alert('AREA: ' + rectangle.getArea());
    </script>

 

    만일의 상황에 대비해서 특정 속성이나 메서드를 사용자가 사용할 수 없게 하는 것이 캡슐화!


    getter, setter를 통해 메소드를 통해서만 속성에 값을 입력할 수 있게 한다!

 

'개발개발 > 자바스크립트' 카테고리의 다른 글

기본내장객체 - object  (0) 2012.08.27
상속  (0) 2012.08.27
프로토타입  (0) 2012.08.27
생성자 함수  (0) 2012.08.27
함수를 사용한 객체 생성  (0) 2012.08.27
Posted by 공돌공돌
,