외부로부터 데이터를 보호하기 위해서(맴버변수에 직접 접근을 막기 위해== 데이터를 보호하기 위에)
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;
}
}
위의 코드는 Time이라는 클래스에서 맴버변수 hour, minute, second는 private 접근 제어자를 통해 직접 접근은 차단하고 setHour 매서드를 통해 반환 조건을 설정함에 따라 간접 접근은 허용한 코드이다.
만약 hour의 값이 25라면, if문 안이 true가 되기 때문에 return이 실행되고 매서드 밖으로 빠져나간다.( getHour은 hour를 return하기 때문이다. 만약 hour값이 21이라면 if문이 false이므로 hour값이 21로 저장된 후 리턴되기 때문이다.)