자바의 정석 - 기초편

캡슐화

ODaram 2022. 8. 31. 16:17

▶캡슐화와 접근 제어자 

  접근 제어자를 사용하는 이유

    - 외부로부터 데이터를 보호하기 위해서

    - 외부에는 불필요한, 내부적으로만 사용되는, 부분을 감추기 위해서

public class Time {
   public  int hour;          // iv (접근제한 X)   , 접근 가능한 범위 : 0~23 
   public  int minute;      //  iv (접근제한 X)   , 접근 가능한 범위 : 0~59 
   public  int second;     //  iv (접근제한 X)   , 접근 가능한 범위 : 0~59 
}
=>
Time t = new Time();.
t.hour = 25;            // 멤버변수에 직접 접근이 가능함


iv를 보호하기 위해서 코드 변경!

(접근 제어자를 이용한 캡슐화)


  • iv를 private 으로 해서 외부 접근을 막는다.
  • 메서드는 public 으로 한다
public class Time {
   private int hour;
   private int minute;          => 접근 제어자를 private으로 하여, 외부에서  직접 접근하지 못하도록 한다.
   private int second;

↗메서드는 public  , 메서드를 통해서 iv에 접근하도록, 간접 접근 허용
   public int getHour() { return hour; }  
   public void setHour ( tin hour ) {
          if ( hour < 0 || hour > 23 ) return;       // 값을 보호
          this.hour = hour;
   }
}

 

'자바의 정석 - 기초편' 카테고리의 다른 글

이클립스 콘솔 한글깨짐  (0) 2022.09.13
☆☆☆ 다형성 (polymorphism)  (0) 2022.09.07
접근 제어자  (0) 2022.08.24
제어자, static, final, abstract  (0) 2022.08.23
import문 /static import문  (0) 2022.08.23