-> 블로그 이전

[Java] 접근 지정자

2021. 11. 19. 15:34Language`/Java

패키지

- 서로 관련 있는 클래스 파일들을 패키지(Package)에 저장하여 관리

- 패키지 ≒ 디렉토리/폴더

4가지 접근 지정자

- private / protected / public / defaule(접근 지정자 생략) 

 

 

클래스 접근 지정

public 클래스

- 패키지에 상관없이 다른 어떤 클래스에게도 사용이 허용 -> 모두 허용 

public class World{
    ....
}

default 클래스 (접근 지정자 생략) 

- 같은 패키지 내의 클래스들에게만 사용이 허용

class Local{
    ....
}

 

 

멤버 접근 지정

- 공개 범위(오름차순) : private -> default -> protected -> public 

멤버에 접근하는 클래스 멤버의 접근 지정자
private default protected public
같은 패키지의 클래스 X O O O
다른 패키지의 클래스 X X X O
접근 가능 영역 클래스 내 동일 패키지 내 동일 패키지
+
(다른 패키지에 있는데) 자식 클래스
모든 클래스

 

private 멤버

- 비공개 -> 클래스 내의 멤버들에게만 접근 허용

 

default 멤버

- 동일 패키지 내에 있는 클래스들만 default 멤버에 접근

 

protected 멤버

- 보호된 공개 -> 같은 패키지의 모든 클래스에 접근 허용 + 다른 패키지인데 자식 클래스의 경우 접근 허용

- 상속(Inheritance)과 관련

 

public 멤버

- 모든 패키지의 모든 클래스 접근 허용