[모던 C++로 다시 쓰는 GoF 디자인 패턴 총정리 #2] 싱글톤(Singleton) 패턴: 고전적 구현 vs. 모던 C++
이전 글에서 시리즈의 개요를 살펴보았고, 이번에는 GoF 디자인 패턴 중 하나인 싱글톤(Singleton) 패턴을 다룹니다. 싱글톤 패턴은 "프로그램 전역에서 단 하나의 인스턴스만 존재하며, 어디서든 접근 가능한 객체"를 보장하는 설계 기법입니다.전통적 C++(C++98/03) 환경에서 싱글톤 구현은 멀티스레드 안전성, 초기화 시점 관리, 전역 상태로 인한 테스트 난이도 등의 문제로 유명했습니다. C++11 이후 표준에서 정적 지역 변수 초기화의 스레드 안전 보장, std::call_once 등의 도구가 등장하면서 구현 난이도가 감소했지만, 여전히 싱글톤은 "전역 상태"를 갖는다는 본질적 단점을 완전히 해결하지는 못했습니다.모던 C++20 이상의 기능을 활용하면 어떤 측면이 더 개선될 수 있을까요? 이번..