[swift] 싱글톤 패턴(Singleton Pattern)

GOSARI·2021년 10월 25일
0

swift

목록 보기
5/11

싱글톤 클래스는 애플리케이션이 요청한 횟수와 상관없이 동일한 인스턴스를 반환합니다. 일반적인 클래스에서는 호출자가 원하는 만큼 클래스의 인스턴스를 만들 수 있지만 싱글톤 클래스에서는 프로세스당 클래스의 인스턴스가 하나만 있을 수 있습니다. 싱글톤 개체는 해당 클래스의 리소스에 대한 전역 액세스 지점을 제공합니다. 싱글톤은 일반적인 서비스나 리소스를 제공하는 클래스와 같이 이 단일 제어 지점이 필요한 상황에서 사용됩니다.

싱글톤 생성

class UserInfo {
    var name: String?
    var age: String?
    
    static let shared: UserInfo = UserInfo()
    
    private init() { }
}
  • 구조체가 아닌 클래스를 사용하는 이유는 인스턴스 한 곳에서 정보를 관리하기 위함이다.
  • 다른 곳에서 인스턴스를 생성하지 못하도록 init()private으로 선언한다. -예외사항 존재 가능

외부에서 해당 클래스 인스턴스에 아래와 같이 접근한다.

let sharedUserInfo = UserInfo.shared

0개의 댓글