728x90
반응형
SMALL
싱글톤 패턴 (Singleton Pattern) 이란?
- 객체 지향 프로그래밍에서 자주 사용되는 패턴으로 클래스의 인스턴스 즉, 객체를 하나만 생성하여 사용하는 패턴이다.
- 따라서, 이 클래스안에 인스턴스가 하나 임을 보장 해야하며 이로인한 불필요한 메모리를 최소화 할 수 있다.
- 리소스를 공유 하거나 상태를 관리하는데 사용된다.
public class Singleton {
private static Singleton instance;
private Singleton() {} //private으로 생성자 소환
public static Singleton getInstance() {
if (instance == null) {
instance = new Singleton();
}
return instance;
}
}
- getInstance() 메소드는 항상 동일한 instance를 반환
- 생성자를 private 으로 만들어 외부에서의 인스턴스 생성을 막음
public class Main {
public static void main(String[] args) {
Singleton s1 = Singleton.getInstance();
Singleton s2 = Singleton.getInstance();
System.out.println(s1.equals(s2)); // true 둘이 같은 값을 가지고 있구나
System.out.println(s1 == s2); //true 아 둘이 같은 주소값을 가지고 있구나 (두개 같은거구나)
}
}
- Singleton 클래스를 2번 getInstance() 를 했지만, 두개의 객체는 같은 주소값 즉, 메모리에 있는 하나의 instance를 바라보고 있음
728x90
반응형
LIST
'디자인패턴' 카테고리의 다른 글
[디자인패턴] Strategy(전략) 패턴 (Feat.Java) (0) | 2024.02.15 |
---|