자바
접근 제어자
tttck88
2021. 3. 14. 14:00
pirvate - 같은 클래스 내에서만 접근이 가능하다.
default - 같은 패키지 내에서만 접근이 가능하다.
protected - 같은 패키지 내에서, 그리고 다른 패키지의 자손클래스에서 접근이 가능하다.
publid - 접근 제한이 전혀 없다.
접근제어자를 이용한 캡슐화
클래스 내부에 선언된 데이터를 보호하기 위해 접근제어자를 사용할 수 있는데, 데이터가 유효한 값을 유지하도록, 또는 비밀번호와 같은 데이터를 외부에서 함부로 변경하지 못하도록 하기 위해서 사용된다.
public calss Time {
public int hour;
public int minute;
public int second;
}
위 클래스의 인스턴스를 생성한 다음, 멤버변수에 직접 접근하여 값을 변경할 경우 hour에 유효한 값이 지정된다는 보장이 없다.
이런 경우 멤버변수를 protected(상속), private로 제한하고 멤버변수의 값을 읽고 변경할 수 있고 유효성 검증이 포함된 public메서드를 제공함으로써 간접적으로 멤버변수의 값을 다룰 수 있도록 할 수 있다.