[iOS][Swift] Access Control, Singleton Pattern

Jay·2023년 8월 31일
0

iOS

목록 보기
33/47

1. 접근 제어자 (Access Control)란?

접근 제어자는 데이터의 캡슐화 및 보호를 위해 사용되는 키워드입니다. Swift에서는 클래스, 구조체, 열거형의 프로퍼티 및 메서드에 접근 제한을 걸 수 있습니다. 다음은 Swift의 주요 접근 제어자입니다:

  • open / public:
    open: 다른 모듈에서도 상속 가능하고, 해당 메서드나 프로퍼티를 오버라이드 할 수 있습니다.
    public: 다른 모듈에서는 접근이 가능하지만, 상속이나 오버라이드는 불가능합니다.
  • internal:
    기본 접근 수준으로, 해당 모듈 내에서만 접근이 가능합니다. 별도의 접근 제어자를 붙이지 않았을 때 이 수준이 적용됩니다.
  • fileprivate:
    현재 파일 내에서만 접근 가능합니다. 동일한 파일 내의 다른 타입이나 확장에서도 접근이 가능하게 해줍니다.
  • private:
    해당 선언이 위치한 코드 블록 ({}) 내에서만 접근이 가능합니다.

2. 싱글톤 패턴 (Singleton Pattern)이란?

싱글톤 패턴은 특정 클래스의 인스턴스가 오직 하나만 생성되고, 어디서든 이 인스턴스에 쉽게 접근할 수 있도록 하는 디자인 패턴입니다.

싱글톤의 특징:

  • 인스턴스가 하나만 생성됩니다.
  • 어디서든 쉽게 접근 가능합니다.
  • 생성자는 private으로 선언되어 외부에서 인스턴스를 만들 수 없게 합니다.

Swift에서의 싱글톤 구현:

class Singleton {
    static let shared = Singleton()

    private init() {}

    func doSomething() {
        // 해당 싱글톤과 관련된 로직
    }
}

// 사용 예:
let instance = Singleton.shared
instance.doSomething()

Singleton.shared를 통해 싱글톤 인스턴스에 접근할 수 있습니다. private init()은 외부에서 새로운 인스턴스를 생성하는 것을 막기 위해 사용됩니다.

Swift에서의 접근 제어자와 싱글톤 패턴은 코드의 안정성, 유지보수성, 그리고 확장성을 높이기 위한 중요한 도구입니다.

profile
Junior Developer

0개의 댓글