SWIFT

Singleton 패턴을 활용하는 경우

clamp 2023. 8. 23. 16:51

Singleton

 

싱글톤 패턴은 특정 용도의 객체를 하나 생성해서 여러 상황에 공용으로 사용하고 싶을 때 사용하는 방법이다.

인스턴스가 하나만 존재하는 것을 보장하게되며, 주로 환경설정, 네트워크객체, 로그인 정보 등을 특정 용도로 생성해둔 객체에 넣어두고 필요할 때 접근한다.

 

인스턴스가 하나만 존재하는것을 보장하므로 메모리 낭비를 방지할 수 있고 데이터를 공유할 수 있다는 장점이 있다.

 

class Singleton {
    
    static let shared = Singleton()
    
    let value = 3
    
    private init(){}
}

Singleton.shared.value
  • static을 활용해 인스턴스를 저장할 타입 프로퍼티를 생성.
  • init을 호출해 또 다른 인스턴스를 생성하는것을 막는다.
  • 메모리가 할당되는 시점은 lazy하게 최초로 접근하는 시점에 초기화된다.
  • 한 번 할당된 메모리는 프로그램이 종료될 때 까지 남아있게된다.