노빠꾸 개발일지/JAVA
[Design Pattern] 싱글턴 패턴
No Backing
2021. 5. 9. 12:50
반응형
싱글턴 패턴(Singleton Pattern)이란?
싱글턴 패턴이란 인스턴스가 하나 뿐인 특별한 객체를 만들 수 있게 해주는 패턴으로,
싱글턴으로 생성된 인스턴스에 자유롭게 접근하여 사용이 가능하다.
싱글턴 패턴을 사용하는 이유는 인스턴스를 한번 생성 후, 재사용하여 사용하기 때문에 메모리낭비를 줄일 수 있다.
싱글턴 패턴은 인스턴스를 생성 후 같은 자원을 계속해서 이용하므로, 연결풀 또는 스레드 풀과 같은 자원 풀을 관리하는데도 자주 이용된다.
싱글턴 패턴 예제
|
1
2
3
4
5
6
7
8
9
10
|
public class Singleton {
private static final Singleton singletonTest = new Singleton(); // 초기화 부분에서 인스턴스를 생성
// 생성자를 private로 선언 - Singleton클래스에서만 Singleton 클래스의 인스턴스를 생성 가능
private Singleton() { }
public static Singleton getInstance() {
return singletonTest; // 생성된 싱근턴 인스턴스를 리턴
}
}
|
cs |
위의 예제를 보면 생성자를 private로 선언하여 Singleton 클래스의 인스턴스를 외부에서는 생성이 불가능하고,
Singleton클래스 내부에서만 생성이 가능하도록 하였다.
초기화 부분에서 Singleton인스턴스를 생성했으니, 외부에서는 getInstance()를 이용하여 해당 인스턴스를 사용하면 된다.
|
1
2
|
Singleton singleton = Singleton.getInstance();
// ... 인스턴스를 이용하여 필요한 코드 작성
|
cs |
외부에서는 위의 코드와 같이 생성된 싱글턴인스턴스를 받아서 필요한 코드를 이어서 작성하면 된다.
반응형