[Java] 제어자, modifier
참고 문서
- https://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html
- https://www.w3schools.com/java/java_modifiers.asp
접근 제어자 access modifier
Modifier | Class | Package | Subclass | World |
---|---|---|---|---|
private | O | X | X | X |
no modifier | O | O | X | X |
protected | O | O | O | X |
public | O | O | O | O |
- private: 같은 클래스 내에서만 접근 가능
- no modifier(default, package-private): 같은 패키지 내에서만 접근 가능
- protected: 같은 패키지이거나 상속받은 클래스에서만 접근 가능
- public: 접근 제한 없음
제어자 작성 순서
http://docs.oracle.com/javase/specs/jls/se7/html/jls-8.html#jls-8.3.1
For fields:
Annotation public protected private static final transient volatile
For methods:
Annotation public protected private abstract static final synchronized native strictfp
default
인터페이스에서만 사용할 수 있는 키워드로 메서드는 추상 메서드만 선언할 수 있는 인터페이스에 바디가 있는 메서드를 만들 때 사용한다.
public interface Test {
default String init() {
return null;
}
}