[Java]

[Java] 접근 지정자

Jarvis2304 2022. 12. 28. 18:33

▶ 접근 지정자

- 자바의 접근 지정자는 private, protected, public, 디폴트(접근 지정자 생략) 4가지가 있음

 

 

▷ 접근 지정자의 목적

- 클래스나 일부 멤버를 공개하여 다른 클래스에서 접근하도록 허용

- 객체 지향 언어의 캡슐화 정책은 멤버를 보호하는 것

- 객체를 캡슐화하기 때문에, 객체에 다른 객체가 접근하는 것으로 허용할지, 말지를 지정할 필요가 있음

- 접근 지정은 캡슐화에 묶인 보호를 일부 해제할 목적

 

 

 

 

클래스 접근 지정자

● public 접근 지정자 :다른 모든 클래스가 접근 가능

 

default 접근 지정자 (접근 지정자 생략 )

- 같은 패키지 내에 있는 클래스에서만 접근 가능 (같은 디렉터리에 있는 클래스끼리 접근 가능)

 

 

 

 

 

 

▷ 멤버 접근 지정자

● 디폴트 멤버 

- 같은 패키지 내의 다른 클래스만 접근 가능

 

● public 멤버

- 패키지에 관계 없이 모든 클래스에서 접근 가능

 

● protected 멤버

- 같은 패키지 내의 다른 모든 클래스에서 접근 가능

- 상속 받은 하위(서브) 클래스는 다른 패키지에 있어도 접근 가능

 

● private 멤버

- 클래스 내에서만 접근 가능

- 상속 받은 하위 클래스에서도 접근 불가

 

 

▷ public, private 접근 지정 사례

▷ 디폴트, protected 접근 지정 사례

예제) 접근 지정자의 사용

 

예제 결과)