안녕하세요~ 릴리입니다🙋🏻♀️
오늘은 스위프트의 일급객체가 가지는 특성 중 하나인! 프로퍼티 중 연산프로퍼티의 기본기를 다져보겠습니다!
이 글은 스위프트 공식문서를 읽으며 공부한 내용이니, 더 자세한 내용은 아래 공식문서를 참고해주세요😊
클래스, 구조체, 열거형에서 정의 가능합니다.
연산 프로퍼티는 두 가지 기능이 있습니다.
연산 프로퍼티는 변수(var)로만 선언 가능하다는 점! 연산을 통해서 돌려주는 값이 언제 나 바뀔 수 있으니 변수로 선언해주어야겠죠?
set할 값의 이름을 별도로 설정해주지 않으면, default로 newValue
가 사용됩니다.
// newCenter를 변수로 사용
set(newCenter) {
origin.x = newCenter.x - (size.width / 2)
origin.y = newCenter.y - (size.height / 2)
}
// default
set {
origin.x = newValue.x - (size.width / 2)
origin.y = newValue.y - (size.height / 2)
}
만약 Getter의 전체 바디가 single expression일 경우, Getter는 암시적으로 expression을 return합니다. 따라서 return키워드를 생략 해줄 수 있습니다.
get {
Point(x: origin.x + (size.width / 2),
y: origin.y + (size.height / 2))
}
Setter는 없고, Getter만 있는 프로퍼티를 읽기 전용 프로퍼티라고 합니다.(Read-only Computed Properties)
읽기 전용 프로퍼티에서는 get키워드를 생략해주어도 됩니다.