Getter and Setter
예시 1
class Member4 { int i; String name; String account; String passwd; private int birthyear; void setBirthyear(int birthyear) { if(birthyear < 0) { return; } this.birthyear = birthyear; } int getBirthyear() { return birthyear; } }
예시 2
public class Time { private int hour; private int minute; private float second; // Getter public int getHour() { return hour; } public int getMinute() { return minute; } public float getSecond() { return second; } // Setter public void setHour(int h) { if(h < 0 || h > 23) return; // void일 때 return은 메서드 탈출 hour = h; } public void setMinutes(int m) { if(m < 0 || m > 59) return; minute = m; } public void setSecond(int s) { if(s < 0.0f || s > 59.99f ) return; second = s; } }
제어자를 이용해서 변수 값을 직접 변경하지 못하게 하고 메서드를 통해서 값을 변경하도록 했다. 값을 변경할 때에는 유효성 조건(if문)을 통과해야 변경할 수 있다.