<!--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 |