iOS/boostcourse

[Singleton] 싱글턴

sujin7837 2021. 2. 10. 17:04
반응형

싱글턴(SingleTon)

특정 클래스의 인스턴스가 오직 하나임을 보장하는 객체를 의미합니다. 애플리케이션이 요청한 횟수와는 관계없이 이미 생성된 같은 인스턴스를 반환합니다. 즉, 애플리케이션 내에서 특정 클래스의 인스턴스가 딱 하나만 있기 때문에 다른 인스턴스들이 공유해서 사용할 수 있습니다.

 

Cocoa 프레임워크에서의 싱글턴 디자인 패턴

싱글턴 인스턴스를 반환하는 팩토리 메소드나 프로퍼티는 일반적으로 shared라는 이름을 사용합니다.

 

Cocoa 프레임워크에서 싱글턴 디자인 패턴을 활용하는 대표적인 클래스

FileManager

-애플리케이션 파일 시스템을 관리하는 클래스

-FileManager.default

 

URLSession

-URL 세션을 관리하는 클래스

-URLSession.shared

 

NotificationCenter

-등록된 알림의 정보를 사용할 수 있게 해주는 클래스

-NotificationCenter.default

 

UserDefaults

-Key-Value 형태로 간단한 데이터를 저장하고 관리할 수 있는 인터페이스를 제공하는 데이터베이스 클래스

-UserDefaults.standard

 

UIApplication

-iOS에서 실행되는 중앙제어 애플리케이션 객체

-UIApplication.shared

 

싱글턴 패턴의 특징

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

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

-멀티 스레드 환경에서 동시에 싱글턴 객체를 참조할 경우 원치 않은 결과를 가져올 수 있습니다.

 

 

출처: www.boostcourse.org/mo326/lecture/16855

반응형

'iOS > boostcourse' 카테고리의 다른 글

[iOS] 테이블 뷰(Table View)  (0) 2021.02.15
[Delegation] 델리게이션  (0) 2021.02.09
[IOS] 내비게이션 인터페이스  (0) 2021.02.03
[MusicPlayer] Cocoa Touch, UIKit, Foundation  (0) 2021.02.01
[MusicPlayer] AVFoundation  (0) 2021.02.01