본문 바로가기
프로그래밍/Swift

Swift 패턴 이야기- 싱글턴 패턴(singleton)

by Mr-후 2021. 7. 21.
반응형

싱글턴 패턴은 애플리케이션 생애 동안 클래스 인스턴스화를 단일 인스턴스로 제한한다. 
이 패턴은 애플리케이션에서 행위를 조직화하기 위해 하나의 인스턴스만 필요ㅛ로 하는 경우에 매우 유용하다. 
애플리케이션이 블루투스로 원격 장치와 통신하면서 애플리케이션 곳곳에서 연결을 유지하고 싶을 경우가 싱글턴을 사용하는 좋은 예가 된다. 누군가는 연결 클래스의 인스턴스를 한 페이지에서 다음 페이지로 전달해 줄 수 있다. 

 

싱글턴 패턴은 참조 타입에서만 구현할 수 있다. 

 

싱글턴 패턴 구현하기 

class MySingleton {
    static let sharedInstance == MySingleton()
    var number = 0
    private init() {}
}

싱글턴 사용 예 

var singleA = MySingleton.sharedInstance
var singleB = MySingleton.sharedInstance
var singleC = MySingleton.sharedInstance

singleB.number = 2

print(singleA.number)
print(singleB.number)
print(singleC.number)

singleC.number = 3 

print(singleA.number)
print(singleB.number)
print(singleC.number)

싱글턴 패턴은 애플리케이션 라이프사이클 내내 클래스의 인스턴스가 오직 단 한 개만 존재해야 하는 구체적인 요구 사항이 있기 전까지는 사용하지 말아야 한다. 

 

반응형