싱글톤 패턴은 소프트웨어 디자인 패턴 중 하나로, 특정 클래스의 인스턴스가 오직 하나만 생성되도록 보장하는 패턴이다
싱글톤 패턴은 특정 클래스에 대한 인스턴스가 단 하나만 생성되도록 하여 메모리 낭비를 방지하고 성능을 향상시킨다
단일 인스턴스를 공유하기 때문에 메모리 사용량이 최적화되며, 객체 로딩시간이 감소한다
동시성 문제가 발생할 수 있다
전역 상태를 갖기 때문에 테스트 용이성이 감소하고, 의존성 주입이 어려워질 수 있습니다.
다른 클래스들과 강하게 결합되어 있어 유연성이 떨어질 수 있다
동시에 여러 스레드에서 싱글톤에 접근하는 경우 적절한 동기화를 고려해야 한다
싱글톤 패턴은 특정 상황에서 유용하지만, 남용할 경우 코드 유지보수 및 테스트에 어려움을 초래할 수 있으므로 신중하게 적용해야 한다