제어자 | 설명 | 사용 가능 대상 |
---|---|---|
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
: 자식 클래스에서만 생성자 호출 가능