자바

접근 제어자

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메서드를 제공함으로써 간접적으로 멤버변수의 값을 다룰 수 있도록 할 수 있다.