싱글톤 패턴은 애플리케이션 전역에서 단 하나의 인스턴스만 존재하도록 보장하는 디자인 패턴입니다.
공통 자원(예: 네트워크 매니저, 유저 세션, 로깅 등)을 공유해야 할 때 사용됩니다.
class MyManager {
static let shared = MyManager()
private init() {
// 외부에서 init 호출 방지
}
func doSomething() {
print("작업 실행")
}
}
static let shared로 전역 인스턴스를 정의private init()으로 외부에서 인스턴스 생성 제한MyManager.shared.doSomething()
싱글톤은 공통 자원을 관리하거나 상태를 공유할 때 유용한 패턴입니다.
다만, 남용을 피하고 의존성을 분리하여 테스트 가능성과 유지보수성을 고려한 설계가 필요합니다.