Java
Java - 접근제어자
장진혁
2023. 1. 27. 15:19
1. 접근제어자
- private - 같은 클래스 내에서만 접근 가능
- default - 같은 패키지 내에서만 접근 가능
- protected - 같은 패키지 내에서, 다른 패키지 자손클래스에서는 접근 가능
- public - 접근 제한 없음
2. 접근제어자를 통한 캡슐화
- 외부로부터 데이터를 보호를 하기위해
- 외부에는 불필요한 부분, 내부적으로만 사용되는 부분을 감추기 위해
- 멤버 변수를 private로 직접 접근을 막고 public 메서드를 통해서 접근 할 수 있도록 함
public class TimeTest {
public static void main(String[] args)
{
Time t = new Time(12, 35, 30);
System.out.println(t);
// t.hour = 13;
t.setHour(t.getHour()+1); // 현재시간보다 1시간 후로 변경한다.
System.out.println(t); // System.out.println(t.toString());과 같다.
}
}
class Time {
private int hour;
private int minute;
private int second;
Time(int hour, int minute, int second) {
setHour(hour);
setMinute(minute);
setSecond(second);
}
public int getHour() { return hour; }
public void setHour(int hour) {
if (hour < 0 || hour > 23) return;
this.hour = hour;
}
public int getMinute() { return minute; }
public void setMinute(int minute) {
if (minute < 0 || minute > 59) return;
this.minute = minute;
}
public int getSecond() { return second; }
public void setSecond(int second) {
if (second < 0 || second > 59) return;
this.second = second;
}
public String toString() {
return hour + ":" + minute + ":" + second;
}
}