[swift] 클래스 프로퍼티와 인스턴스 프로퍼티의 차이점

클래스와 인스턴스는 Swift에서 중요한 개념입니다. 클래스와 인스턴스의 프로퍼티는 각각의 특징과 차이가 있습니다. 이번에는 클래스 프로퍼티와 인스턴스 프로퍼티의 차이점에 대해 알아보겠습니다.

클래스 프로퍼티(Class Property)

클래스 프로퍼티는 클래스 전체에 속하는 프로퍼티로, 모든 인스턴스가 공유합니다. 클래스 프로퍼티는 static 키워드로 정의됩니다. 이는 해당 클래스의 모든 인스턴스가 이 프로퍼티를 공유하게 됨을 의미합니다.

class SomeClass {
    static var classProperty = 10
}

print(SomeClass.classProperty) // 10

위의 예제에서 classPropertySomeClass의 모든 인스턴스에서 공유되는 클래스 프로퍼티입니다.

인스턴스 프로퍼티(Instance Property)

인스턴스 프로퍼티는 각각의 인스턴스에 속하는 프로퍼티입니다. 클래스의 각 인스턴스는 해당 프로퍼티를 각각 독립적으로 가질 수 있습니다.

class SomeClass {
    var instanceProperty = 5
}

let instance1 = SomeClass()
let instance2 = SomeClass()
instance1.instanceProperty = 10
print(instance1.instanceProperty) // 10
print(instance2.instanceProperty) // 5

위의 예제에서 instanceProperty는 각 인스턴스에 독립적으로 속하기 때문에 instance1instance2의 값이 서로 다른 것을 확인할 수 있습니다.

결론

클래스 프로퍼티와 인스턴스 프로퍼티는 각각 클래스 전체 및 각 인스턴스에 속하는 프로퍼티로, 각각의 특징을 가지고 있습니다. 이를 이해하고 적절히 활용함으로써 프로그래밍 작업을 효율적으로 수행할 수 있습니다.