IT/JAVA

자바 접근제어자 (Access Modifier)

바다, 2017. 12. 29. 13:59
반응형

자바에는 4가지의 접근 제어자가 있습니다.


1. private


2. (default)


3. protected


4. public


접근 제어자는 단어 그대로 접근 레벨을 제어하는 기능을 합니다.




접근 제어자를 이용한 캡슐화(encapsulation)


- 접근 제어자는 클래스 내부에 선언된 데이터를 보호하기 위해 사용합니다.


유효한 값을 유지하도록, 함부로 변경하지 못하도록 접근을 제한하는 것이 필요합니다.


데이터 감추기 (data hiding)라고 하며, 캡슐화에 해당됩니다.




private


- 접근 제어자 중에서 가장 접근 권한이 좁은 제어자로 자기 자신 클래스(class) 내에서만 이용할 수 있는 멤버를 선언할 때 사용합니다.



(default)


- 접근 관련 제어자를 별로 지정하지 않은 경우로, 접근 제어자가 없는 변수, 메소드는 default 접근 제어자가 되어 해당 패키지 내에서만 접근이 가능합니다.


protected


- 동일 패키지와 동일 패키지에 포함되지 않지만 상속을 통한 하위 클래스 관계에 있는 외부 패키지의 클래스도 접근이 가능합니다.


public


- 모든 클래스에 의해 접근이 가능합니다. 즉 접근 제약이 없습니다.




아래의 표는 각각의 접근 제어자들의 사용 범위입니다.


대상

 사용 가능한 접근 제어자

클래스 

 public, default

 메서드

 public, protected, (default), private

 멤버 변수

 지역 변수

 없음



아래의 표는 각각의 접근 제어자를 통한 접근 범위입니다.


 제어자

 같은 클래스

 같은 패키지

자손 클래스 

모든 클래스

 public

 

 

 

 

 protected

 

 

 

 

(default)

 

 

 

 

 private

 

 

 

 


반응형