[JAVA] 초기화 순서

2021. 5. 12. 22:04·JAVA
728x90

초기화순서

  • static block -> 인스턴스 block -> 생성자

예제코드

public class Book {

  static {
    System.out.println("책 static 블록");
  }

  public Book() {
    System.out.println("책 생성자");
  }
  
  {
    System.out.println("책 인스턴스 블록");  
  }
}
public class JavaBook extends Book {

  static {
    System.out.println("JAVA 책 static 블록");
  }

  public JavaBook() {
    System.out.println("JAVA 책 생성자 블록");
  }

  {
    System.out.println("JAVA 책 인스턴스 블록");
  }
}

결과

public class Main {

  public static void main(String[] args) {
    System.out.println("책을 이용하여 초기화 순서를 확인해보자.");
    Book book = new Book();
  }
  /*
  1. 책 static 블록
  2. 책 인스턴스 블록
  3. 책 생성자
  */
}

public class Main {

  public static void main(String[] args) {
    System.out.println("책을 이용하여 초기화 순서를 확인해보자.");
    Book book1 = new Book();
    Book book2 = new Book();
  }
  /*
  1. 책 static 블록
  2. 책 인스턴스 블록
  3. 책 생성자
  4. 책 인스턴스 블록
  5. 책 생성자
  static 블록은 한번만 호출됨
  */
}

public class Main {

  public static void main(String[] args) {
    System.out.println("책을 이용하여 초기화 순서를 확인해보자.");
    Book book1 = new Book();
    Book book2 = new Book();
  }
  /*
  1. 책 static 블록
  2. 책 인스턴스 블록
  3. 책 생성자
  4. 책 인스턴스 블록
  5. 책 생성자
  static 블록은 한번만 호출됨
  */
}

public class Main {

  public static void main(String[] args) {
    System.out.println("책을 이용하여 초기화 순서를 확인해보자.");
    JavaBook javaBook = new JavaBook();
  }
  /*
  1. 책 static 블록
  2. JAVA 책 static 블록
  3. 책 인스턴스 블록
  4. 책 생성자
  5. JAVA 책 인스턴스 블록
  6. JAVA 책 생성자 블록
  부모 클래스인 책 static 선언 이후 자식 클래스 static 블록이 선언된다.
  */
}

 

저작자표시

'JAVA' 카테고리의 다른 글

[JAVA] 상태패턴  (0) 2021.05.21
[JAVA] Builder 패턴  (0) 2021.05.16
[JAVA] 상속 / 컴포지션  (0) 2021.05.15
[JAVA] static 정리  (0) 2021.05.15
[JAVA] Lombok @Delegate  (0) 2021.04.18
'JAVA' 카테고리의 다른 글
  • [JAVA] Builder 패턴
  • [JAVA] 상속 / 컴포지션
  • [JAVA] static 정리
  • [JAVA] Lombok @Delegate
집한구석
집한구석
  • 집한구석
    tgyun615.info
  • 전체
    오늘
    어제
    • 카테고리 (183)
      • JAVA (38)
      • SPRING (15)
      • KOTLIN (23)
      • NETTY (1)
      • DEVOPS (3)
      • DOCKER (7)
      • KUBERNETES (2)
      • JAVASCRIPT (1)
      • SPLUNK (3)
      • ELK (7)
      • KAFKA (2)
      • GO (4)
      • ALGORITHM & DATA STRUCTURE (9)
      • IDE (5)
      • OS (16)
      • NETWORK (14)
      • GCP (2)
      • AWS (2)
      • DATABASE (10)
      • CLEANCODE (7)
      • OTHER (12)
  • 최근 글

  • 태그

    java
    클린코드
    이펙티브 코틀린
    Kafka
    docker
    splunk
    코틀린
    ElasticSearch
    SQL
    cleancode
    IntelliJ
    이펙티브코틀린
    엘라스틱서치
    go
    자바
    Elk
    프로그래머스
    AWS
    Spring
    JPA
  • 링크

    • github
    • linkedin
    • resume
  • hELLO· Designed By 정상우. v4.10.3
집한구석
[JAVA] 초기화 순서
상단으로

티스토리툴바