객체 생성 없이 사용할 수 있는 필드와 메소드를 생성하고자 할 때 활용하는 것으로, static
키워드를 통해 사용할 수 있습니다.
객체마다 가질 필요가 없는 공용으로 사용하는 필드 또는 인스턴스 필드를 포함하지 않는 메소드에 사용합니다.
정적 메소드는 객체 참조 없이 바로 사용할 수 있기 때문에 인스턴스 필드나 메소드, this 키워드를 사용할 수 없습니다.
final
키워드를 사용하면 해당 변수는 값이 최종적인 값이 되므로 수정이 불가능합니다.
값을 지정하는 방법은 선언과 동시에 값을 할당하거나, 생성자에 의해 값을 할당하는 2가지 방법이 있습니다.
static
키워드와 final
키워드를 함께 사용하면 상수를 선언할 수 있습니다.
상수랑 변하지 않는 값을 뜻하는데, final 키워드만 사용할 경우 값이 다를 수 있기 때문에 static final
로 선언해야 합니다.
클래스의 멤버인 변수와 메소드들의 접근 권한을 지정합니다.
접근자 | 클래스 내부 | 패키지 | 상속받은 클래스 | 이외의 영역 |
---|---|---|---|---|
private | O | X | X | X |
default | O | O | X | X |
protected | O | O | O | X |
public | O | O | O | O |