iOS/문법

Property

HJ39 2023. 2. 11. 16:58

Property 종류

  • Stored Property (저장 프로퍼티)
  • Computed Property (연산 프로퍼티)
  • Type Property (타입 프로퍼티)

 

Stored Property (저장 프로퍼티)

상수(constant) 혹은 변수(variable) 값을 인스턴스 일부로 저장한다. (클래스, 구조체에서 사용)

var: 변수

let: 상수

 

간단하죠..?

 

Computed Property (연산 프로퍼티)

연산 프로퍼티는 저장 프로퍼티와 다르게 저장을 하기 위한 목적의 프로퍼티가 아닌 연산을 하기 위한 프로퍼티이다.

(말장난 느낌이네..;)

 

예를 들어 보면

class Test{
    var a = 1
    var x = {
    	get{
            return a
        }
        set{
            a = newValue * 2
        }
    }
}

var t: Test = Test()
t.x = 4

a는 저장 프로퍼티이고 x는 연산 프로퍼티이다.

t.x = 4를 하는 경우 4가 바로 저장되는 것이 아닌 2배가 되어 a에 저장된다.

이런 연산을 수행하므로 연산 프로퍼티라고 한다.

 

예제에서 보다시피 getter, setter에서 많이 이용된다.

클래스, 구조체, 열거형에서 사용된다.

var로 선언되어야 한다.

 

 

Type Property (타입 프로퍼티)

타입 프로퍼티는 저장 프로퍼티, 연산 프로퍼티 앞부분에 static을 붙여서 선언하는 것이다.

Type Property를 이용하여 싱글톤을 사용한다.

Type Property의 가장 큰 특징으로 모든 타입이 공통적인 값을 정의하는데 유용하게 사용된다.

 

 

 

# 참고한 사이트

  1. https://babbab2.tistory.com/120
  2. https://zeddios.tistory.com/243
  3. https://zeddios.tistory.com/245