Swift 계산 속성

계산 속성 (Computed Properties)

계산 속성은 클래스 , 구조체 , 열거형 내 값을 계산하여 반환하는 속성이다.
이 속성은 실제로 값을 저장하지 않고 속성에 접근할 때 마다 특정한 코드 블록(getter) 을 실행하여 값을 계산 , 반환한다.

계산 속성은 저장 속성과는 달리 값을 직접 저장하지 않지만,
값을 계산하기 위한 연산을 수행하는 코드 블록을 제공한다. (getter)

계산 속성은 값을 동적으로 생성하거나 계산할 때 유용하다.

var propertyName: PropertyType {
    get {
       // 속성의 값을 계산하고 반환하는 코드
    }
    set(newValue) {
      // 속성에 새 값을 할당하거나 다른 작업을 수행하는 코드
    }
}

get 블록은 속성에 접근할 때 실행되며, 값을 반환한다.
set 블록은 속성에 새 값을 할당할 때 실행되며, 값을 업데이트하거나 다른 작업을 수행할 수 있지만, set 블록은 필수가 아니다.

이를 바탕으로 직사각형의 넓이를 계산하는 예시를 보자

struct Rectangle {
    var width: Double
    var height: Double

    var area: Double {
        get {
            return width * height
        }
    }
}

var rect = Rectangle(width: 5, height: 10)
print(rect.area)  // 출력값 50.0

위 코드에서 'area' 는 계산 속성으로 선언되어 있으며, 이 속성은 가로, 세로 길이를 곱해서 넓이를 계산 하고 반환한다.
해당 속성에 접근할때 마다 get 블록이 실행되어 넓이가 계산된다.

'◽️ Programming > Swift 문법' 카테고리의 다른 글

Swift Class 상속 , overriding  (0) 2024.03.02
Swift Instance  (0) 2024.03.01
Swift 저장 속성  (0) 2024.03.01
Swift 값 형식과 참조 형식  (0) 2024.03.01
Swift Structure와 Class의 공통점과 차이점  (0) 2024.03.01