[swift] Swift 초기화 메서드와 함께 사용되는 클래스 속성

Swift에서는 클래스의 초기화 과정에 속성을 설정하는데 사용되는 초기화 메서드(Initializer)와 함께 클래스 속성을 선언할 수 있습니다. 클래스 속성은 클래스 인스턴스마다 동일한 값을 가지는 공유 속성입니다.

클래스 속성 선언

클래스 내부에서 클래스 속성을 선언하려면 static 키워드를 사용합니다. static 키워드를 통해 해당 속성이 인스턴스에 종속되지 않는 전역 속성임을 나타냅니다. 클래스 속성은 클래스가 처음 로드되었을 때 한 번 초기화되며, 이후로는 값을 변경할 수 없습니다.

class MyClass {
    static let sharedProperty = "Shared Property"
}

위의 예제에서 sharedPropertyMyClass의 클래스 속성으로 선언되었습니다. 이 속성은 let으로 선언되었으므로 값을 변경할 수 없습니다.

클래스 속성 사용하기

클래스 속성은 클래스 이름을 통해 접근할 수 있습니다. 클래스 속성에 접근할 때는 클래스이름.속성이름 형식으로 접근하면 됩니다.

print(MyClass.sharedProperty) // "Shared Property"

위의 예제에서 MyClass.sharedProperty를 호출하여 클래스 속성에 접근하고 있습니다.

초기화 메서드에서 클래스 속성 사용하기

초기화 메서드에서 클래스 속성을 사용할 수 있습니다. 초기화 메서드는 인스턴스가 생성될 때 호출되는 메서드로, 인스턴스를 초기화하는 역할을 합니다. 초기화 메서드에서 클래스 속성에 접근할 때는 클래스이름.속성이름 형식으로 접근하면 됩니다.

class MyClass {
    static let sharedProperty = "Shared Property"
    let instanceProperty: String
    
    init() {
        instanceProperty = MyClass.sharedProperty
    }
}

위의 예제에서 MyClass에는 sharedProperty라는 클래스 속성과 instanceProperty라는 인스턴스 속성이 있습니다. 초기화 메서드 init()에서 instancePropertyMyClass.sharedProperty로 초기화하고 있습니다.

참고 자료