전에 올린 포스팅 참고 : https://old-developer.tistory.com/49?category=931274
이전에 심도있게 스터디한 내용이라 , 이번에는 책 내용만 정리해봄.
싱글톤 패턴 [위키피디아]
소프트웨어 디자인 패턴에서 싱글턴 패턴(Singleton pattern)을 따르는 클래스는, 생성자가 여러 차례 호출되더라도 실제로 생성되는 객체는 하나이고 최초 생성 이후에 호출된 생성자는 최초의 생성자가 생성한 객체를 리턴한다. 이와 같은 디자인 유형을 싱글턴 패턴이라고 한다. 주로 공통된 객체를 여러개 생성해서 사용하는 DBCP(DataBase Connection Pool)와 같은 상황에서 많이 사용된다.
예제소스
public class Singleton {
static Singleton singletonObject; // 정적 참조 변수
private Singleton() {
}; // private 생성자
// 객체 반환 정적 메서드
public static Singleton getInstance() {
if (singletonObject == null) {
singletonObject = new Singleton();
}
return singletonObject;
}
}
public class Client {
public static void main(String[] args) {
// private 생성자임으로 new 할 수 없다.
// Singleton s = new Singleton();
Singleton s1 = Singleton.getInstance();
Singleton s2 = Singleton.getInstance();
Singleton s3 = Singleton.getInstance();
System.out.println(s1);
System.out.println(s2);
System.out.println(s3);
s1 = null;
s2 = null;
s3 = null;
}
}
참고서적 : 스프링 입문을 위하 자바 객체지향의 원리와 이해
'객체지향 (OOP) > 디자인 패턴' 카테고리의 다른 글
팩토리 메서드 패턴(Factory method pattern) (0) | 2021.06.30 |
---|---|
템플릿 메소드 패턴(template method pattern) (0) | 2021.06.29 |
데코레이터 패턴 (Decorator Pattern) (0) | 2021.06.28 |
프록시 패턴(proxy pattern) (0) | 2021.06.22 |
어댑터 패턴 (Adapter Patter) (0) | 2021.06.22 |