IT

[Java] 접근제어자

data-cloud 2025. 1. 20. 22:04
반응형

 

 

 

☕️ 접근제어자(Access Modifier) 란?

접근 제어자는 자바 제어자의 한 종류로, 클래스, 멤버, 생성자 앞에 위치할 수 있으며, 사용 범위를 제한하는 역할을 한다.
접근 제어자는 public, protected, private이 있으며 아무것도 서술하지 않으면 적용되는 default가 있다.
멤버 및 생성자에는 4가지 종류 모두 사용이 가능하며, Class에는 public과 default만 사용 가능하다.

 

 

 

☕️ 클래스의 접근제어자

클래스에서는 public과 default 접근 제어자만 사용할 수 있다.

쉽게 말해 class 키워드 앞에 public이 붙어 있거나 붙어 있지 않거나로 구분된다.

// public 접근제어자
public class PublicClass {

}

// default 접근제어자
class DefaultClass {

}
  • public
    - 모든 패키지에서 접근이 가능하다.

  • default
    - 같은 패키지에서만 접근이 가능하다.

 

 

 

☕️ 멤버 및 생성자의 접근제어자

멤버 및 생성자에는 public, protected, default, private라는 4가지 종류의 접근제어자를 모두 사용할 수 있다.

/** 필드 사용 예시 */

// public 접근제어자
public String publicStr;

// protected 접근제어자
protected String protectedStr;

// default 접근제어자
String defaultStr;

// private 접근제어자
private String privateStr;
/** 메서드 사용 예시 */

// public 접근제어자
public void publicMethod() {

}

// protected 접근제어자
protected void protectedMethod() {

}

// default 접근제어자
void defaultMethod() {

}

// private 접근제어자
private void privateMethod() {

}
/** 생성자 사용 예시 */

// public 접근제어자
public AccessModifier() {

}

// protected 접근제어자
protected AccessModifier() {

}

// default 접근제어자
AccessModifier() {

}

// private 접근제어자
private AccessModifier() {

}
  • public
    - 모든 패키지에서 접근이 가능하다.

  • protected
    - 같은 패키지에서 접근이 가능하다.
    - default와의 차이점은 다른 패키지에 속한 클래스가 해당 클래스의 자식 클래스라면 해당 클래스에서도 접근이 가능하다.

  • default
    - 같은 패키지에서만 접근이 가능하다.

  • private
    - 클래스 내부에서만 접근이 가능하다.

 

반응형

 

☕️ 정리

  적용 대상 접근 허용 범위
public 필드, 생성자, 메서드, 클래스 모두 허용
protected 필드, 생성자, 메서드 같은 패키지, 다른 패키지이지만 해당 클래스를 상속받은 자식 클래스
default 필드, 생성자, 메서드, 클래스 같은 패키지
private 필드, 생성자, 메서드 오직 클래스 내부

 

 

 

References.

1. 혼공 - 자바 접근 제한자의 종류와 차이(public, protected, private)
2. 윤복로그 - Java 자바 접근제어자 범위, 종류
3. KADOSHoly - [Java] 자바 - 접근제어자 public, private, protected 및 default

 

반응형