| 제어자 | 설명 | 사용 가능 대상 |
|---|---|---|
public | 어디서나 접근 가능 | 클래스, 생성자, 메서드, 멤버 변수 |
protected | 같은 패키지 + 다른 패키지의 자식 클래스에서 접근 가능 | 생성자, 메서드, 멤버 변수 |
| (default) | 같은 패키지 내에서만 접근 가능 | 클래스, 생성자, 메서드, 멤버 변수 |
private | 같은 클래스 내에서만 접근 가능 | 생성자, 메서드, 멤버 변수 |
클래스에는 public 또는 default만 사용 가능
| 제어자 | 설명 |
|---|---|
final | 수정 불가 (변수: 값 변경 불가, 메서드: 오버라이딩 불가, 클래스: 상속 불가) |
abstract | 미완성 상태 (메서드: 구현 없음, 클래스: 추상 메서드 포함) |
static | 클래스 단위로 공유 (인스턴스 없이 접근 가능) |
private, 접근은 getter/setter 메서드 사용byte, short, int, long, float, boolean, char참조형 변수는 객체의 타입에 따라 접근 가능한 멤버(메서드/변수)가 결정됨
private 생성자 → 외부에서 인스턴스 생성 차단public 또는 protected 사용private으로 설정getInstance())final class: 상속 불가final method: 오버라이딩 불가protected constructor: 자식 클래스에서만 생성자 호출 가능