[JAVA] 접근제어자 public, protected, private

2019. 9. 30. 17:34 JAVA/Java

접근제어자 public, protected, private





변수나 메쏘드를 선언할 때 접근을 제어할 수 있는 modifier를 설정할 수 있다. 이러한 접근 관련 modifier를 통해서 객체지향 언어의 중요 특성 중 하나인 캡슐화(encapsulation)과 정보 숨김(information hiding)을 구현할 수 있다.


* 접근 제어자


 구분

modifier 

설명 

접근 권한 

 public

 모든 클래스에서 접근이 가능함을 의미한다.

protected 

동일 패키지에 속하는 클래스와 하위 클래스 관계의 클래스에 의해 접근이 가능하다. 

private 

클래스 내에서만 접근이 가능하다 


* 접근 권한


 종류

클래스 

하위 클래스 

동일 패키지 

모든 클래스 

private 

(default) 

protected 

public 



- private


접근 관련 modifier 중에서 가장 권한 범위가 좋은 modifier로 자기 자신 클래스 내에서만 이용할 수 있는 멤버를 선언할 때 사용한다.


- (default)


접근 관련 modifier를 지정하지 않은 경우이다. 이는 동일 패키지에 속하는 클래스만 접근할 수 있는 멤버이다.


- protected


동일 패키지와 동일 패키지에 포함되지는 않지만 하위 클래스 관계에 있는 클래스도 접근할 수 있다.


- public


모든 클래스에 의해 접근할 수 있다.  즉, 접근 제약이 없다.



위의 modifier는 변수의 선언, 생성자, 메소드 모두에 공통으로 적용된다.



출처: https://hyeonstorage.tistory.com/176?category=557602 [개발이 하고 싶어요]