Singleton 패턴을 활용하는 경우를 예를 들어 설명하시오.

이하연·2021년 8월 15일
1

[Swift] 스위프트

목록 보기
8/27

Singleton

singleton pattern

싱글톤 패턴은 특정 용도로 객체를 하나 생성해서 공용으로 사용하고 싶을 때 사용하는 방법입니다.

즉, 인스턴스가 하나만 존재하는 것을 보증하고 싶을 경우 에 사용하게 되는데, 주로 환경설정네트워크 객체로그인 정보 등을 특정 용도로 생성해둔 객체에 넣어두고 필요할때마다 여러 객체에서 접근 가능하도록 하여 데이터를 사용합니다.

메모리 낭비를 방지 할 수 있고 데이터를 공유 할 수 있다는 대표적인 장점이 있습니다.

예제

class SingleTon {
    private static let sharedInstance = SingleTon()
   
    private init() { }
}

싱글톤 패턴은 특정 용도로 객체를 하나 생성해서 공용으로 사용하고 싶을 때 사용하는 방법입니다.

  • static을 이용해 Instance를 저장할 프로퍼티를 하나 생성
  • Init 함수를 호출해 Instance를 또 생생하는 것을 막기 위해, init() 함수 접근 제어자를 private로 지정
  • 아까 생성해뒀던 static 프로퍼티를 이용하됨
  • 즉, 어느 클래스에서든 생성해준 static 프로퍼티를 접근하면 하나의 instance를 공유하게 됨으로, 메모리 낭비를 방지해줄 수 있다는 장점이 있습니다.
  • Singleton Instance는 전역 Instance로 다른 클래스들과 자원 공유가 쉬움
  • 공통된 객체를 여러개 생성해서 사용해야하는 상황에서 많이 사용

Swift) 싱글톤 패턴(Singleton Pattern)

한번 할당된 메모리는 끝날때까지 할당되어 있습니다. ( 프로세스 종료될때까지 남아있음 → 메모리 낭비가 존재 )

언제 최초로 할당? : 레이즈가 접근하는 시점에 초기화가 됩니다.

0개의 댓글