접근 지정자
클래스의 멤버 각각에 외부에서 접근할 수 있는 범위를 지정하는 접근 지정자를 둘 수 있다.
접근지정자 | 접근범위 | 동일클래스 | 동일패키지 | 다른패키지의 자식클래스 | 다른패키지 |
---|---|---|---|---|---|
public | 접근제한없음 | yes | yes | yes | yes |
protected | 동일 패키지와 상속받은 클래스 내부 | yes | yes | yes | |
default | 동일 패키지 내에서만 | yes | yes | ||
private | 동일 클래스 내에서만 | yes |
public
공개정도가 가장 높고 어디에서든 자유롭게 접근할 수 있다
protected
같은 패키지 내에서 접근이 가능하고 다른 패키지에서도 상속을 받은 클래스 내부에서는 사용 가능하다. public 과 다른 점은 다른 패키지의 자식 클래스 외부에서는 접근 할 수 없다는 것이다.
default(package private)
같은 패키지 내에서만 접근이 가능하다.아무런 접근 지정자도 없을 경우 이 옵션이 자동으로 적용된다
private
동일 클래스 내에서만 접근이 간으한 가장 낮은 단계의 자유도를 갖는다