본문 바로가기
IT/Java

접근 제어자(public, protected, private, default)

by 성준하이 2023. 10. 30.
반응형

자바에서는 접근제어자 라는 개념이 있다.

 

간단하게 설명하면 외부에서 해당 클래스, 해당 변수 등을 접근할수 있는지를 제어하는 것이다.

 

예를 들어 변수를 선언할때

String name = "name";

이런식으로도 사용하지만 앞에 접근제어자를 추가하여

private String name = "name";

이렇게 사용이 가능하다.

 

앞에 붙일수 있는 접근제어자는 총 3개이고 안붙이는 경우까지 포함하면 총 4가지의 경우가 생긴다.

각 경우에 따라 접근이 가능한 범위는 아래와 같다.

 

  1. public는 '공개'를 나타내며, 모든 클래스에서 접근이 가능 (패키지와 상관없음)
  2. private는 '비공개'를 나타내며, 같은 클래스안에 있는 멤버들만 접근이 가능
  3. protected는 같은 패키지안의 모든 클래스와, 다른 패키지의 자식 클래스에서 접근이 가능
  4. default(생략) 할 경우 접근지정자가 없으면 default 멤버로, 같은 패키지안의 클래스에서만 접근이 가능

결국 Public > Protected > default > Private 순서로 접근 제어가 제한이 된다.

 

그림으로 보면 아래와 같다.

 

반응형

댓글