[Java] 생성자와 초기화 블럭 실행 순서

Jerry·2021년 8월 16일
0

language & framework study

목록 보기
12/28

실행순서

클래스 초기화 블럭 -> 인스턴스 초기화 블록 -> 생성자

  • 클래스 초기화 블럭 : 클래스 로더가 클래스를 메모리에 올릴때 최초 한번만 실행
  • 인스턴스 초기화 블록, 생성자 : 인스턴스 생성마다 실행
public class TestInstant {

    public static void main(String[] args){

        TestInstant testInstant =new TestInstant("first");
        TestInstant testInstant2 =new TestInstant("second");
        TestInstant testInstant3 =new TestInstant("third");
    }

  // 생성자
    public TestInstant(String name){
        System.out.println("construct : "+name);
    }

  // 인스턴스 초기화 블록
    {
        System.out.println("instant init");
    }

  // 클래스 초기화 블록
    static {
        System.out.println("class init");
    }
}

출력

class init
instant init
construct : first
instant init
construct : second
instant init
construct : third

profile
제리하이웨이

0개의 댓글