본문 바로가기
CS Study

[디자인 패턴] 싱글톤 패턴

by 6cess 2023. 12. 12.

싱글톤 패턴이란?

하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴. 원래는 하나의 클래스에 여러 개의 인스턴스를 생성할 수 있지만 싱글톤 패턴에서는 단 하나만을 생성하여 이 인스턴스를 공유하여 사용하는 패턴.

 

장점

하나의 인스턴스만을 사용하기 때문에 인스턴스를 생성하는 비용을 줄일 수 있다는 장점이 있다.

 

단점

의존성이 높아진다.

예를 들어 단위 테스트를 진행할 때 테스트가 서로 독립적이어야 하는데 하나의 인스턴스를 여러 테스트들이 공유할 경우 문제가 발생할 수 있다.

 

Swift 예시 코드

스위프트에서는 싱글톤 패턴을 비교적 간단하게 구현할 수 있다.

class User {
    static let shared = User()

    var name: String?
    var age: Int?

    private init() { }
}

'CS Study' 카테고리의 다른 글

선언형 프로그래밍  (0) 2023.12.12
Optimistic Update vs. Pessimistic Update  (1) 2023.11.23
UI/UX 란 무엇인가  (1) 2023.11.22