18. 접근 제어자(Access Modifier)

박은서's avatar
Dec 19, 2025
18. 접근 제어자(Access Modifier)

1. 접근 제어자(Access Modifier)

교재 p.163-168 / 4.4 접근 제어

1️⃣ 접근 제어자란?

클래스 / 변수 / 메서드에 어디까지 접근을 허용할지 정하는 키워드

2️⃣ 접근 제어자의 종류

접근 제어자
키워드
public
public
protected
protected
default
(아무것도 안 씀)
private
private

1) private

같은 클래스 안에서만 접근 가능
class User { private String password; private void changePassword() { // 내부에서만 사용 } }
  • 캡슐화 핵심
  • 외부 접근 완전 차단
  • 필드에 가장 많이 사용

2) default (package-private)

같은 패키지에서만 접근 가능
class User { String name;// default }
  • 접근 제어자 안 쓰면 자동 적용
  • 패키지 단위 묶을 때 사용

3) public

어디서든 접근 가능
public class Main { public static void main(String[] args) {} }
  • API, 라이브러리 공개용
  • 최소한으로 쓰는 게 좋음

3️⃣ 접근 범위

접근 가능 범위
private
default
protected
public
같은 클래스
같은 패키지
다른 패키지 자식 클래스
다른 패키지 일반 클래스
➡️ 왼쪽(←)으로 갈수록 더 제한적
Share article