Language/Java Design Pattern
Java Design Pattern - 싱글톤 패턴(Singleton 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