티스토리 뷰
Q1. 스태틱 메소드에서 왜 인스턴스 메소드를 못쓸까요?
지난 포스트에서 썼던 클래스 로드 과정을 간단하게 정리해보겠습니다.
1. 클래스 로딩
1-1: verificatoin : 클래스 파일이 변조되었는지 검사
1-2 : preparation : static 변수 준비, 및 기본값으로 초기화.
1-3: resolution : 로딩 과정중에 symbolic reference로 연결해놨던것을 실제 레퍼런스로 교체.
1-4: initilization : 초기화 과정에서는 class와 interface 초기화 메소드 수행. 이때, static 변수에 입력한 값으로 초기화되고 static 메소드들이 수행.
위 과정을 다시 보면, 스태틱 메소드는 애초에 인스턴스가 로드되기 전에 로드되고 사용 가능하다.
당연히 로드시점이 다르기 때문에, 스태틱에게 instance variable을 쓰면 모르는게 당연하다.
'Java > Java Live Study' 카테고리의 다른 글
1. JVM에 대하여 (0) | 2021.03.08 |
---|---|
자바 라이브 스터디. (0) | 2021.03.08 |