인스턴스 프로퍼티
저장 프로퍼티와 연산 프로퍼티는 클래스 또는 구조체의 인스턴스를 생성한 후, 해당 인스턴스를 통해서만 참조할 수 있는 프로퍼티입니다. 이러한 프로퍼티들은 인스턴스에 관련된 값을 저장하며 사용하므로, 이러한 종류의 프로퍼티를 "인스턴스 프로퍼티"라고 부릅니다. 인스턴스 프로퍼티는 각 인스턴스별로 다른 값을 가질 수 있으며, 해당 인스턴스의 상태를 나타내기 위해 사용됩니다.
타입 프로퍼티
클래스, 구조체, 열거형의 객체 자체와 관련된 값을 다루어야 하는 상황에서는 인스턴스를 생성하지 않고도 사용하기 위해 타입 프로퍼티를 활용합니다.
타입 프로퍼티의 특징은 해당 값을 모든 인스턴스가 공통으로 공유한다는 점입니다. 즉, 모든 인스턴스가 동일한 값을 참조하며 값을 수정하면 모든 인스턴스에 반영됩니다.
반면, 인스턴스 프로퍼티는 인스턴스 각각에 대해 다른 값을 저장할 수 있으며, 이 값은 해당 인스턴스 내에서만 유지됩니다. 따라서 하나의 인스턴스에서 프로퍼티 값을 변경하더라도 다른 인스턴스에는 영향을 주지 않습니다.
static let/var 프로퍼티명 = 초기값
타입 프로퍼티로 선언된 저장 프로퍼티는 인스턴스 생성 과정에서 초기값을 할당할 수 없기 때문에 반드시 선언 시 초기값을 할당해야 합니다.
class let/var 프로퍼티명: 타입 {
get {
return 반환
}
set {
}
}