java modifiers - protected, default
protected와 default 기준
- 상속구조에서 자식클래스 인가? protected
- 같은 패키지 내인가? default
- 자식 패키지 안됨. 오직 같은 패키지 siblings class 여야함.
test
- (아래) 구조
mypackage
.Test
객체를 만들어놈.Test
객체를 갖다쓰는client
들의 package 위치에 따라 사용 가능 여부를 따짐.- 외부 패키지 (
otherpackage
.client
) - 같은 패키지이나 하위 패키지 (
childpackage
.Client
) - 같은 패키지 (
mypackage
.client
)
- 외부 패키지 (
- 외부 패키지다? 상속받았을때만
protected
가능 - 같은 패키지이나 하위 패키지
- 같은 패키지
정리
default
: 오직 같은 패키지 안 에서만 쓸 수 있음 (하위 패키지 안됨)protected
: 패키지 경로 다르다면, 상속 받아야만 쓸 수 있음.- 같은 패키지라면
default
던protected
던 상관없이 쓸 수 있음.
This post is licensed under CC BY 4.0 by the author.