본문 바로가기

자바

초기화 블럭 - 변수 선언의 또 다른 방법

class Product

{

static int count = 0; //클래스 명시적 초기화

int serialNo; //인스턴스 명시적 초기화

{ // 인스턴스 초기화 블럭(객체를 만들때 마다 실행됨)

++count;

serialNo = count;

}

// 아래와 같은 선언은 클래스 초기화 블럭(객체를 아무리 많이 만들어도 한번만 실행됨)

}static{


  }


public Product(){} // 생성자

}


class ProductTest{


public static void main(String[] args) 

{

// 아래와 같이 인스턴스를 생성할 때마다 인스턴스초기화블럭을 실행한다.(여기선 3번 인스턴스화 했으니 3번 실행되었다)

Product p1 = new Product();

Product p2 = new Product();

Product p3 = new Product();


System.out.println("p1의 제품번호(serial no)는 " +p1.serialNo);

System.out.println("p2의 제품번호(serial no)는 " +p2.serialNo);

System.out.println("p3의 제품번호(serial no)는 " +p3.serialNo);

}

}


결과는

1,2,3 순서대로  시리얼넘이 찍혀서 출력됨

'자바' 카테고리의 다른 글

getter와 setter, 생성자의 접근 제어자  (0) 2014.01.19
접근제어자와 제어자  (0) 2014.01.19
생성자를 이용한 인스턴스의 복사  (0) 2014.01.15
여러 개의 값을 리턴하기  (0) 2014.01.14
자바 class의 구성  (0) 2014.01.07