Java Class, Static block, Instance block, constructor

최성민·2021년 3월 18일
0

Java Class의 변수들을 선언할 때 여러가지 초기화 방법이 있다.

  1. Static Blcok
    클래스가 로딩되고 클래스 변수가 준비된 후 자동으로 실행되는 블록,
    하나의 클래스안에 여러개의 Statick block 존재 가능.

    • 실행 순서
      1) 클래스 로딩
      2) 클래스 변수가 있으면 메모리 생성
      3) Static 블록이 선언된 순서대로 실행
  2. Instance Block
    인스턴스가 생성된 후 자동으로 실행되는 블록.
    하나의 클래스안에 여러개의 블록 존재 가능.
    생성자 호출 이전에 동작

    • 실행 순서
      1) 인스턴스 생성
      2) 인스턴스 블록 실행
      3) 생성자 실행
  3. 생성자
    인스턴스를 생성한 후 자동으로 호출되는 특별한 메소드
    인스턴스 변수와의 차이점 : 파라미터를 받아서 인스턴스 변수를 특정 값으로 초기화 할 수 있다.
    여러개의 생성자를 가질 수 있지만 그 중에서 조건에 맞는 1개만 호출됨.
    클래스 작성시 따로 작성하지 않으면 컴파일러가 자동으로 기본 생성자 만듬.

    클래스 로딩 -> Static block 1회 호출 ->
    클래스 선언때마다 인스턴스 생성 -> Instance block 실행 -> 생성자 호출

profile
공부합시다

0개의 댓글

Powered by GraphCDN, the GraphQL CDN