java 1.1부터 instance initializer, instance initialization block이라는 것이 있다.

클래스에서 { } 로 묶여진 블럭을 의미한다. 인스턴스 생성시 호출된다.


class Member {
public String id; // instance initializer block
{
id = "id";
System.out.println(id);
} //... }



이를 좀 응용해서 anonymous class init 코드에 instance initializer를 넣어 간단하게 List를 구현하는 코드를 생성할 수 있다.


List<String> list = new ArrayList<String>() { { add("a");add("b");add("c"); } };

List<String> list = new ArrayList<String>() {
{
add("a");
add("b");
add("c");
}
};




Posted by '김용환'
,