[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개의 댓글

관련 채용 정보