static 키워드 사용처

block, variable, method, nested class(중첩 클래스)에서 사용 가능하다

Untitled


static 기능

어떤 변수, 메소드 등이 **static으로 선언**되면

해당 멤버는 자신이 속한 클래스의 어떤 객체가 생성되기 전에도 접근 가능하다

즉 static한 멤버는 인스턴스와 별개로 사용 가능하다


static block ?

일반적인 초기화 블록이 인스턴스가 실행될 때마다 실행되는 것과 달리

static block 내부의 코드는 다음의 경우에 딱 한 번만 실행된다.

  1. 해당 block이 선언된 클래스의 첫 번째 객체를 만들 때
  2. 해당 클래스의 static 멤버에 처음으로 접근할 때