-
Java Design Pattern - 싱글톤 패턴(Singleton Pattern)Language/Java Design Pattern 2022. 11. 18. 17:33
싱글톤 패턴(Singleton Pattern)
싱글톤 패턴이란?
싱글톤 패턴이란, 인스턴스가 프로그램 내에서 오직 하나만 생성되는 것을 보장하고, 프로그램 어디에서든 이 인스턴스에 접근할 수 있도록 하는 패턴이다.
즉, 인스턴스가 사용될 때 똑같은 인스턴스를 여러 개 만드는 것이 아니라, 기존에 생성했던 동일한 인스턴스를 사용하게끔 하는 것이다.
싱글톤 패턴의 구현
public class SingleObject { private static SingleObject singleObject = null; private SingleObject() { } public static SingleObject getInstance() { if (singleObject == null) { singleObject = new SingleObject(); } return singleObject; } }
우선, 외부에서 객체를 생성할 수 없도록 생성자를 private로 선언한다. 객체 생성에 대한 관리를 내부적으로 하겠다는 의미이다.
외부에서 SingleObject 객체를 생성할 수 없기 때문에, 미리 생성된 자신을 반환할 수 있도록 getInstance() 메서드를 정의한다.
생성자를 private로 선언했기 때문에 객체를 생성할 수 없으므로, getInstance() 메서드가 클래스에 정의되도록 static 제어자를 사용했다.
public class SingletonPatternTest { @Test public void 싱글톤_패턴_테스트() { for (int i = 0; i < 5; i++) { SingletonObject singletonObject = SingleObject.getInstance(); System.out.println(singletonObject.hashCode()); } } }
정말로 하나의 인스턴스를 호출하는지 확인해보도록 하겠다.
반복문을 돌면서 객체의 해시 코드를 가져오도록 했는데, 모두 같은 객체임을 확인했다.
출처
ㆍ https://victorydntmd.tistory.com/293
728x90'Language > Java Design Pattern' 카테고리의 다른 글
Java Design Pattern - 옵저버 패턴(Observer Pattern) (0) 2022.11.21 Java Design Pattern - 커맨드 패턴(Command Pattern) (0) 2022.11.20 Java Design Pattern - 스테이트 패턴(State Pattern) (0) 2022.11.20 Java Design Pattern - 전략 패턴(Strategy Pattern) (0) 2022.11.18 Java Design Pattern - SOLID 원칙 (0) 2022.11.18