Programming/Design Pattern
싱글톤 패턴(Singletone Pattern)이란?
추천캐릭터
2022. 10. 29. 13:12
728x90
● 싱글톤이란 클래스의 인스턴스가 딱 한개만 생성되는 것을 보장하는 디자인 패턴이다.
생성자의 호출이 반복적으로 이루어져도 실제론 생성되는 객체는 최초 생성된 객체를 반환한다.
public class Singletone {
private static Singletone singletone;
private Singletone() {}
public static Singletone getInstance() {
if (singletone == null) {
singletone = new Singletone();
}
return singletone;
}
}
위 코드는 간단한 싱글톤 예제이다.
Singleton이라는 클래스가 있고 private static을 사용하여 최초로 메모리를 한번만 할당한다.
이는 getInstance를 통해서만 생성 가능하다.
● 싱글톤 패턴 사용 시 주의할 점과 알아야할 점
- 객체 인스턴스를 2개 이상 생성하지 못하도록 막아야 한다.
- Private 생성자를 사용해서 외부에서 임의로 new 키워드를 사용하지 못하도록 막아야 한다.
- 스프링 컨테이너를 사용하면 컨테이너에 등록되는 빈들을 알아서 싱글톤으로 관리된다.
- 하나의 인스턴스를 생성해서 공유하는 형식이므로 객체의 상태를 유지하게 설계하면 안된다.
- 특정 클라이언트에 의존적이거나 값을 변경할 수 있는 필드가 있으면 안된다.
- 필드 대신 공유되지 않는 지역변수, 파라미터, ThreadLocal을 사용하자.
https://jpointofviewntoe.tistory.com/23
JAVA : Singleton(싱글톤) - 메모리 낭비 방지
안녕하세요 전진시입니당! JAVA에서 Singletone 패턴이란? 🐥 싱글톤이란 클래스의 인스턴스가 딱 1개만 생성되는 것을 보장하는 디자인 패턴 이름이다. 이는 생성자의 호출이 반복적으로 이루어져
jpointofviewntoe.tistory.com
728x90