반응형
접근제어자
자바의 접근제어자로는 public, protected, default, private 이 있다.
각각의 접근 범위는 아래와 같다. 해당 내용은 기억해 두는 게 좋다.
public // 모두 접근 가능
protected // 같은 패키지 + 자손 (다른 패키지)
(default) // 같은 패키지
private // 같은 클래스 내 접근 가능
private < default < protected < public 순으로 접근범위가 넓어진다.
접근 제어자를 사용하는 이유는
1. 외부로부터 데이터를 보호하기 위해서
- 외부접근을 막아 원하지 않는 데이터로 변경되는 것을 막는다.
2. 외부에는 불필요한, 내부적으로만 사용되는 부분을 감추기 위해서.
- 접근 제어자의 범위는 좁혀놓고, 필요하면 넓힌다. 좁을수록 테스트할 경우의 수가 줄어들기 때문이다.
private 을 사용하여 멤버변수에 직접 접근하는 것을 막고, 메서드를 통해 접근하도록 한다.
hour 의 경우, 0에서 23 까지의 숫자만 입력이 되어야 할 경우에 그 외의 숫자가 입력되면 아래 코드와 같이 return 하도록 구현한다.
public class Time {
private int hour;
private int minute;
private int second;
public int getHour() { return hour; }
public void setHout( int hour) {
if (hour < 0 || hour > 23) return;
this.hour = hour;
}
}
참고자료
자바의 정석 3rd Edition
자바의 정석 - 기초 캡슐화 동영상 강의
https://www.youtube.com/watch?v=3NuVD8eOMfc&list=PLW2UjW795-f6xWA2_MUhEVgPauhGl3xIp&index=79
반응형