Computed Property
작성일
Computed Property
- 계산 속성
- get과 set을 사용해야하는데 get은 필수이다.
- 자료형을 명시적으로 작성해야한다.
class Person {
var name: String
var yearOfBirth: Int
init(name: String, year: Int) {
self.name = name
self.yearOfBirth = year
}
var age: Int {
get {
let calendar = Calendar.current
let now = Date()
let year = calendar.component(.year, from: now)
return year - yearOfBirth
}
set {
let calenar = Calenar.current
let now = Date()
let year = calendar.component(.year, from: now)
yearOfBirth = year - newValue
}
}
}
let p = Pserson(name: "Jogn Doe", year: 2002)
p.age // get블록실행
p.age = 50 //set블록이 실행된다