class가 로딩
되고 class 변수가 준비된 후 자동으로 실행되는 블록
인스턴스가 생성
된 후 자동으로 실행하는 블록
public class StaticBlock {
// static block
static {
System.out.println("static karim");
}
// main
public static void main(String[] args) {
System.out.println("Main karim");
}
}
public class InstanceBlock {
// Instance block
{
System.out.println("Instance karim");
}
// main
public static void main(String[] args) {
new InstanceBlock();
System.out.println("Main karim");
new InstanceBlock();
}
}
public class AllBlock {
// static block
static {
System.out.println("static karim");
}
// instance block
{
System.out.println("instance karim");
}
// main
public static void main(String[] args) {
System.out.println("Main karim");
new AllBlock();
}
}
class 변수
를 초기화
시키는 코드를 둔다instance 변수
를 초기화
시키는 코드를 둔다.생성자가 호출
되든 그 전에
공통으로 초기화시키고 싶은 작업
이 있다면 인스턴스 블록에서 처리하면 된다.📌 여담
📚 참고