Back-end/JAVA

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

화누파더 2024. 7. 3. 19:33
반응형

접근 제어자란?

 접근 제어자(Access Modifiers)는 클래스, 변수, 메서드 등이 접근가능한 범위를 설정하는 키워드 입니다. 자바에서는 총 4개의 접근 제어자 public, protected, default, private가 있습니다.

접근 범위의 크기는 public > protected >  default > private 으로 public이 제일 넓고 private가 가장 적습니다.

 

접근 제어자 사용가능 여부

  public protected default private
클래스 o x o x
메서드 o o o o
변수 o o o o

 

public

  • 접근 범위: 모든 클래스
  • public으로 선언된 멤버는 모든 클래스에서 접근이 가능하다. 즉, 모든 패키지에서 접근이 가능하다.

 

 

 

protected

  • 접근 범위: 같은 패키지 + 다른 패키지의 자식 클래스
  • protected로 선언된 멤버는 같은 패키지 내의 클래스들에서 접근 가능하고 다른 패키지인 경우 상속받은 자식 클래스에서는 접근이 가능하다.

 

 

default

  • 접근 범위: 같은 패키지
  • 접근제어자를 따로 명시하지 않은 경우 default로 설정이 되며 같은 패키지 내에서만 접근이 가능하다.

 

private

  • 접근 범위: 같은 클래스
  • private로 선언된 멤버는 오직 선언된 클래스 내에서만 접근이 가능하다.

 

 

정리

 이처럼 자바에서는 변수나 메서드를 접근 제어자를 통해 접근 범위를 설정할 수 있다. 위의 접근 제어자를 적절히 활용하여 외부에서 중요한 정보의 접근을 제한하고 보호할 수 있다.

 

 

반응형