static의 사전적 의미

static 키워드
- 클래스 수준에서 공유되는 멤버(필드, 메서드, 중첩 클래스)를 정의하는 데 사용
- static 키워드를 작성하면 객체(인스턴스)와 무관하게 클래스 자체에 속함
- 특정 객체에 속하지 않고 모든 객체가 동일한 static 멤버를 참조
- 클래스의 이름을 통해 직접 호출 가능
- JVM 메서드 영역에 저장
static 필드(클래스 변수)
- 정적 필드는 클래스 수준에서 공유되는 변수
- 객체마다 값이 다른 인스턴스 필드와는 달리 모든 인스턴스가 공유
- 클래스 이름을 통해 호출하는 것을 권장
static 메서드
- 정적 메서드는 클래스 이름을 통해 직접 호출할 수 있는 메서드
- 객체와 무관하게 동작, 전역적인 작업에 적합
static 블록(초기화 블록)
- 정적 블록은 클래스 로드 시 한번만 실행되는 초기화 블록
- 정적 필드 초기화에 사용
static 주의 사항
- static 영역에서는 non-static 영역을 직접 접근할 수 없음
- non-static 영역에서는 static 영역을 접근 가능