더북(TheBook)

인스턴스 변수를 선언할 때 초기화하는 방법 외에 클래스 선언 안에 임의의 초기화 블록(initialization block)을 넣는 방법도 있다.

public class Employee() {

    private String name = " ";

    private int id;

    private double salary;


    { // 초기화 블록

        Random generator = new Random();

        id = 1 + generator.nextInt(1_000_000);

    }


    public Employee(String name, double salary) {

        ...

    }

}


Note ≣

초기화 블록은 자주 사용하는 기능은 아니다. 대부분의 개발자는 긴 초기화 코드를 헬퍼 메서드 안에 두고, 생성자에서 헬퍼 메서드를 호출한다.


인스턴스 변수 초기화와 초기화 블록은 클래스 선언에 나타난 순서로 실행하며, 그다음에 생성자를 실행한다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.