본문 바로가기

cs(with 매일메일)

[260320금] 싱글턴 패턴이란 무엇인가요?

싱글턴 패턴(Singleton Pattern)이란, 생성자를 여러 차례 호출해도 실제로 생성되는 객체를 하나로 유지하는 것이다. 

객체가 최초로 생성된 이후에 생성자나 객체 생성 메서드는 기존에 만들어진 객체를 반환한다. 

public class Singleton {
	private static final Singleton INSTANCE = new Singleton();
    
    // 생성자 호출 제한
    private Singleton() { ... }
    
    public static Singleton getInstance() {
    	return INSTANCE;
    }
}

 

장점

1. 하나의 객체를 여러 상황에서 재사용 > 메모리 낭비 방지

2. 여러 다른 객체가 하나의 인스턴스에 쉽게 접근 가능 > 편리

 

단점

1. 전역 객체를 생성한다는 특성상 코드의 복잡도 증가

2. 테스트하기 어려운 코드