Referenced By
Swift) 프로퍼티 정복하기 (2/4) - 연산 프로퍼티(Computed Property)
클래스, 구조체, 열거형
에서 사용저장 공간을 갖지 않는다.
활용
한다.class Human {
var name: String = "Yoonds"
var computed: String {
get {
return "연산 프로퍼티 get을 활용한 " + self.name
}
set {
self.name = "연산 프로퍼티 set을 활용한 새로운 값 할당: " + newValue
}
}
}
var human: Human = .init()
// get 호출
print(human.computed) // get을 활용한 Yoonds
// set 값 할당
human.computed = "새로운 값!"
print(human.name) // set을 활용한 새로운 값 할당: 새로운 값!
저장 프로퍼티
를
compute라는 연산 프로퍼티가 활용하고 있음 → 쉽게 말해 저장 프로퍼티를 이것 저것 갖고 놀고 있음
get 호출
→ get을 활용한 Yoonds값을 할당
'새로운 값!’ set이 호출 됨 → set을 활용한 새로운 값 할당: 새로운 값!set 사용시에 파라미터를 넣을 수 없을까?
현재 위의 코드를 살펴보면 newValue
라는 swift 자체해서 지정해준
예약어
로 새롭게 입력된 값을 받고 활용하고 있음
하지만 파라미터명을 지정해서 사용하는것 또 한 가능 → yoondsValue라는 파라미터 사용
set(yoondsValue) {
self.name = "set을 활용한 새로운 값 할당: " + yoondsValue
}
set 파라미터 지정시에 왜 타입을 지정하지 않지?
set(yoondsValue: String) { // Error Expected ')' after setter parameter name
self.name = "set을 활용한 새로운 값 할당: " + yoondsValue
}
var computed: String