티스토리 뷰

오늘은 자바의 초기화 블록인 '인스턴스 초기화 블록'과 '정적 초기화 블록'에 대해서 정리해보려고 한다. 

먼저 각각의 의미부터 알고가자.

 

■ 인스턴스 초기화 블록

▶ 의미 : 객체(new)가 만들어질 때마다 실행되는 코드 블록

▶ 용도 : 모든 생성자에서 공통으로 실행해야 하는 초기화 코드를 넣을 때

예제)

public class InstanceInitExample {

    String name;

    // ★★ 인스턴스 초기화 블록 ★★
    {
        name = "씹덕"; // 객체 만들 때마다 실행됨
    }

    // 생성자
    public InstanceInitExample(String name) {
        this.name = name;
    }

    public static void main(String[] args) {
        InstanceInitExample e1 = new InstanceInitExample("Alice");
        System.out.println("e1.name = " + e1.name);
        
    }
}
// 결과)
// e1.name = 씹덕

 

 

■ 정적 초기화 블록

▶ 의미 : 클래스가 JVM에 처음 로드될 때 실행되는 코드 블록

▶ 용도 : static 변수 값 넣어두기, 프로그램 시작할 때 한 번만 연결해야 하는 DB 연결

 

예제)

public class StaticInitExample {

    static int staticCount;

    // ★★ 정적 초기화 블록 ★★
    static {
        staticCount = 100; // 클래스 로드 시 딱 1번만 실행됨
    }

    public static void main(String[] args) {
        System.out.println("staticCount = " + staticCount);
        System.out.println("staticCount = " + staticCount); // 다시 호출해도 블록 실행 안 됨!!  
    }
}
// 결과)
// staticCount = 100
// staticCount = 100

 

 

---------------------

 

현재 하고 있는 도서관 관리 프로젝트가 뭔가 망하고 있는 느낌이다.... 마무리 작업을 하고 있는데 에러의 연속에 코드가 엉망진창으로 꼬였다..... 

어떻게 해야할까............. 🤔😮🫥

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG more
«   2026/04   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30
글 보관함