캡슐화와 접근 제어자
- 접근 제어자를 사용하는 이유?
- 외부로부터 데이터를 보호하기 위해서
- 외부에는 불필요한, 내부적으로만 사용되는, 부분을 감추기 위해서
public class Time {
private int hour;
private int minute;
private int second;
public int getHour() { return hour; }
public void setHour(int hour) {
if (hour < 0 || hour > 23 ) return;
this.hour = hour;
}
}
class Time {
private int hour;
private int minute;
private int second;
public void setHour(int hour) {
if (ifVaildHour(hour)) return;
this.hour = hour;
}
private boolean isVaildHour(int hour) {
return hour < 0 || hour > 23;
}
public int getHour() { return hour; };
}
public class TimeTest {
public static void main(String[] args) {
Time t = new Time();
t.setHour(21);
System.out.println(t.getHour());
t.setHour(100);
System.out.println(t.getHour());
}
}
- 접근제어자는 범위를 최대한 줄일 수 있으면 좋음 !!