[swift] 연산 프로퍼티 선언 방법
스위프트에서는 연산 프로퍼티를 선언하여 클래스, 구조체, 열거형 등에서 계산된 값을 제공할 수 있습니다. 이번 블로그에서는 스위프트에서 연산 프로퍼티를 선언하는 방법을 살펴보겠습니다.
연산 프로퍼티란?
연산 프로퍼티는 실제로 값을 저장하지는 않지만, 특정한 연산을 통해 값을 반환하는 프로퍼티를 말합니다. Getter와 Setter 메서드를 사용하여 값을 가져오거나 설정할 수 있으며, 실제로 값을 가지고 있지 않지만 다른 프로퍼티의 값을 기반으로 연산을 수행할 수 있습니다.
연산 프로퍼티의 선언
연산 프로퍼티는 var
키워드로 선언하고, { get }
또는 { get set }
블록을 사용하여 프로퍼티의 getter와 setter를 정의합니다.
struct Circle {
var radius: Double
var area: Double {
get {
return Double.pi * radius * radius
}
}
}
위의 예제에서 Circle
구조체에는 radius
와 area
두 개의 프로퍼티가 있습니다. area
는 연산 프로퍼티로, getter를 통해 원의 넓이를 계산하여 반환합니다.
{ get set }
블록을 사용하여 setter를 정의할 수도 있습니다. 아래는 Circle
구조체에서 diameter
를 연산 프로퍼티로 추가한 예제입니다.
struct Circle {
var radius: Double
var diameter: Double {
get {
return radius * 2
}
set(newDiameter) {
radius = newDiameter / 2
}
}
}
연산 프로퍼티의 사용
연산 프로퍼티는 일반 저장 프로퍼티와 마찬가지로 사용할 수 있습니다.
var circle = Circle(radius: 5.0)
let area = circle.area // 78.54
circle.diameter = 10.0
print(circle.radius) // 5.0
요약
이번 포스트에서는 스위프트에서 연산 프로퍼티를 선언하는 방법을 살펴보았습니다. 연산 프로퍼티를 사용하면 값의 계산을 위한 별도의 메서드 호출 없이 간결하게 계산된 값을 사용할 수 있으며, 값을 읽고 쓰는 동작을 커스터마이징할 수 있습니다.
더 많은 정보는 스위프트 공식 문서를 참고할 수 있습니다.