2016년 3월 30일 수요일

캡슐화

캡슐화
사용자가 수정하지 말아야 할 것을 수정하거나 잘못된 입력을 방지하기 위함

    1) 캡슐화 구현
  1. <script>    
  2.     function Rectangle() {  
  3.         var width;  
  4.         var height;  
  5.           
  6.         this.setWidth = function(w) {  
  7.             if(w<=0) {  
  8.                 return alert('width error');  
  9.             } else {  
  10.                 this.width = w;  
  11.             }  
  12.         };  
  13.         this.setHeight = function(h) {  
  14.             if(h<=0) {  
  15.                 return alert('height error');  
  16.             } else {  
  17.                 this.height = h;  
  18.             }  
  19.         };  
  20.         this.getWidth = function() {  
  21.             return this.width;  
  22.         };  
  23.         this.getHeight = function() {  
  24.             return this.height;  
  25.         }  
  26.         this.area = function() {  
  27.             if(width != null && height != null) {  
  28.                 return width*height;  
  29.             } else {  
  30.                 alert('data error');  
  31.             }  
  32.         }  
  33.     }  
  34.       
  35.     var rectangle = new Rectangle();  
  36.     rectangle.setWidth(-1);  
  37.     rectangle.setHeight(-3);  
  38.     rectangle.area();  
  39. </script>    
           * 실행 시 음수 값이 입력되어 width error, height error 가 발생한다.


    2) 게터(Getter), 세터(Setter)
       ① 게터(getter) : get으로 시작하여 값을 가져오는 메서드
       ② 세터(setter) : set으로 시작하여 값을 설정하는 메서드

댓글 없음:

댓글 쓰기