iOS & Swift 공부 - Singleton Design Pattern

김영채 (Kevin)·2021년 1월 28일
0

iOS & Swift

목록 보기
54/107

Singleton


  • 싱글턴은 '특정 클래스의 인스턴스가 오직 하나임을 보장하는 객체'를 의미
  • 싱글턴은 애플리케이션이 요청한 횟수와는 관계없이 이미 생성된 같은 인스턴스를 반환

주의할 점


→ 싱글턴 디자인 패턴은 애플리케이션 내의 특정 클래스의 인스턴스가 하나만 존재하기 때문에 객체가 불필요하게 여러 개 만들어질 필요가 없는 경우에 많이 사용

ex) 환경설정, 네트워크 연결처리, 데이터 관리 등.

→ 하지만 멀티 스레드 환경에서 동시에 싱글턴 객체를 참조할 경우 원치 않은 결과를 가져올 수 있음.

→ 어떤 디자인 패턴을 활용하더라도 항상 긍정적인 면과 위험성을 함께 고려하여 활용하여야 함.

ex.

class UserInformation{
    
    static let shared: UserInformation = UserInformation()
    
    var name: String?
    var age: String?
}

//정석대로 하려면 private init() 이 있어야 함
profile
맛있는 iOS 프로그래밍

0개의 댓글