본문 바로가기
FRONT-END/iOS

Swift 코드로 알아보는 싱글톤(Singleton) 패턴

by 랄라J 2023. 7. 26.

싱글톤 패턴이란?

  • 메모리상에 유일하게 1개만 존재하는 객체를 설계하는 것을 의미

 

싱글톤 패턴이 필요한 이유

  • 앱 구현시 유일하게 1개만 존재하는 객체가 필요한 경우에 사용
  • 실제 UIScreen.main 처럼 apple이 싱글톤 패턴으로 만들어 놓은 것을 활용해 사용하게 됨
class Singleton {
	static let shared = Singleton() // 데이터 영역에 유일한 객체의 주소가 담기게 됨
	var id = 123
	private init() {}
}

// 접근하는 순간 lazy하게 동작하여 메모리에 올라감
Singleton.shared

object1 = Singleton.shared
object1.id = 126

Singleton.shared.id // 126

object3 = Singleton() // 새로운 인스턴스를 생성하는 것을 막기위해 4번 라인을 선언
object3.id // 123

 

728x90

댓글