낭만 프로그래머

Java 에서 Singleton(싱글톤) 사용하기 본문

Java/Common

Java 에서 Singleton(싱글톤) 사용하기

조영래 2020. 4. 6. 12:19

Java에서 Singleton을 사용하는 방법은 몇가지 있지만 나는 아래 2가지 중에 하나를 사용한다

1. Eager initialization 방식

public class DBService {

	private static DBService instance = new DBService();

	private DBService() {
	}
	
	public static DBService getInstance() {
        return instance;
    }
    
}

 

2. Initialization on demand holder idiom 방식 (* 추천)

public class DBService {

	private DBService() {
		
	}
	
	private static class InnerInstanceClass {
        private static final DBService instance = new DBService();
    }
	
	public static DBService getInstance() {
        return InnerInstanceClass.instance;
    }
}