객체지향 프로그래밍에서는 어떤 클래스, 그 클래스의 변수 그리고 메소드에 대해 외부 클래스에서의 접근 여부를 허용할 수 있습니다. 이 경우 어느 선까지 접근을 허용할 것인지 범위를 설정하는 데 있어서 등장하는 개념이 접근자 (access modifier)라고 합니다.


 

 클래스

변수 

메소드 

 public

 O

 O

 O

 protected

X

 O

 O

 private

X

 O

 O

 default (default 키워드가 붙는게 아니라 어떤 접근자도 붙지 않는 경우)

 O

 O


클래스의 경우, 외부 클래스에서 상속을 통해서만 접근되거나 아니면 접근 자체가 허용되지 않도록 하는 것은 금지되어 있습니다. 따라서 public 혹은 아무런 수식어가 붙지 않은 default만이 허용됩니다. 각자 키워드가 갖는 의미를 간단히 살펴보도록 하겠습니다.


1. public

이 키워드는 외부에서 아무런 제한 없이 접근이 가능합니다.


2. protected

이 키워드는 같은 패키지 내에서 상속받는 클래스에서만 접근이 가능하도록 지정할 필요가 있을 때 사용하는 키워드 입니다.


3. private

private 변수나 메소드는 외부 클래스에서 접근하지 못하게 합니다.


4. default (접근자 없음)

이 키워드는 같은 패키지 내에서만 외부 클래스의 접근을 허용합니다.

반응형

+ Recent posts