Static field는 source declaration 순서에서 아직 대입되지 않은 field의 기본값을 볼 수 있다
static field가 서로를 참조하면 class preparation의 0/null과 source-order assignment가 섞여 완성 전 값을 읽을 수 있습니다.
PREPAREDFIRST=0 · SECOND=0
FIRST = SECOND아직 SECOND는 0
SECOND = 25두 번째 선언 대입
INITIALIZEDFIRST=0 · SECOND=25
핵심: 순환 static 참조를 피하고 하나의 factory에서 완성한 불변 configuration을 한 번에 게시합니다.