✍️ Runtime, 자바에서 찾아보는 싱글톤 패턴
자바 라이브러리에 들어있는 Runtime의 인스턴스는 싱글톤 패턴으로 제공된다.
아래와 같이 new를 통해선 Runtime의 인스턴스를 절대 만들 수 없다.
public class App {
public static void main(String[] args) {
Runtime runtime = new Runtime();
}
}
Runtime의 인스턴스는 getRuntime 메서드를 통해서 가져올 수 있다.
public class App {
public static void main(String[] args) {
Runtime runtime = Runtime.getRuntime();
}
}
실제로 Runtime 클래스를 타고 가면 이른 초기화 (eager initialization) 방식으로 싱글톤 인스턴스를 제공하고 있으며 static 메서드를 통해 싱글톤 객체를 반환하고 private 생성자를 포함하고 있다.
public class Runtime {
private static final Runtime currentRuntime = new Runtime();
private static Version version;
public static Runtime getRuntime() {
return currentRuntime;
}
private Runtime() {}
.
.
.
}
그 외에도 스프링 빈 스코프 중 싱글톤 스코프는 스프링 컨테이너 내부에서 빈을 싱글톤으로 관리한다.
'Java > Design Pattern with Java' 카테고리의 다른 글
[객체 생성 패턴] Chapter 2-2. Factory Method Pattern : 패턴 적용하기 (0) | 2022.03.31 |
---|---|
[객체 생성 패턴] Chapter 2-1. Factory Method Pattern : 패턴 소개 (0) | 2022.03.31 |
[객체 생성 패턴] Chapter 1-4. Singleton Pattern : 안전하고 단순한 싱글톤 (0) | 2022.03.28 |
[객체 생성 패턴] Chapter 1-3. Singleton Pattern : 싱글톤을 깨트리는 방법 (0) | 2022.03.28 |
[객체 생성 패턴] Chapter 1-2. Singleton Pattern : 멀티 쓰레드에서도 안전하게 (0) | 2022.03.28 |