접근 제한자(Access Modifier)란?
- 말 그대로 클래스 및 인터페이스 그리고 이들이 가지고 있는 멤버의 접근을 제한하기 위해 사용되는 것
접근제한 | 적용 대상 | 접근할 수 없는 클래스 |
---|---|---|
public | 클래스, 필드, 생성자, 메소드 | 없음 |
protected | 필드, 생성자, 메소드 | 자식 클래스가 아닌 다른 패키지에 소속된 클래스 |
default | 클래스, 필드, 생성자, 메소드 | 다른 패키지에 소속된 클래스 |
private | 필드, 생성자, 메소드 | 모든 위부 클래스 |
종류 | 특징 |
---|---|
static | 객체마다 가질 필요가 없는 공용으로 사용하는 필드 혹은 인스턴스 필드를 포함하지 않는 메소드 |
final | 한 번 값이 정해지고 나면 값을 바꿀 수 없는 필드 |
static final | 모든 영역에서 고정된 값으로 사용하는 상수 |