스위프트에서의 getter와 setter는 프로퍼티 값을 가져오거나 설정하는 데 사용되는 메커니즘입니다.
프로퍼티에 대한 접근을 더 유연하게 제어하고, 값이 설정되거나 가져올 때 추가 작업을 수행할 수 있는 기회를 제공합니다.
Getter는 프로퍼티의 값을 반환하는 역할을 합니다. Getter를 정의하지 않으면 자동으로 기본 getter가 생성됩니다.
class Person {
var age: Int = 25 // 프로퍼티
var isAdult: Bool {
return age >= 18 // 계산된 프로퍼티의 getter
}
}
let person = Person()
print(person.isAdult) // true
Setter는 프로퍼티의 값을 설정하는 역할을 합니다. Setter를 정의하지 않으면 읽기 전용 프로퍼티가 됩니다.
Setter를 정의할 때 newValue라는 특별한 이름의 매개변수를 사용하여 새 값을 받아올 수 있습니다.
class Temperature {
var celsius: Double = 0.0
var fahrenheit: Double {
get {
return celsius * 9 / 5 + 32
}
set {
celsius = (newValue - 32) * 5 / 9
}
}}
var temperature = Temperature()
temperature.fahrenheit = 68 // 이 값 설정은 setter 호출
print(temperature.celsius) // 20.0
참고(출처) : 개발하는 정대리, 야곰(Swift5)