파게로그
[OOP] Getters and Setters 본문
https://kotlinlang.org/docs/properties.html
Getters and Setters
프로그래밍에서, getters는 property의 값을 얻기 위해 사용되며, setters는 property의 값을 설정하기 위해 사용된다. Kotlin에서 getters와 setters는 수의적이며, 이를 직접 생성하지 않을 때에는 자동으로 생성된다.
How Getters and Setters Work
class Student() {
var name: String = "Unknown"
}
fun main(args: Array<String>) {
val student = Student()
println(student.name)
student.name = "Miu"
println(student.name)
}
위 프로그램의 결과는 다음과 같다.
Unknown
Miu
위와 같이 클래스에 별도로 getter와 setter를 선언하지 않더라도, 자동으로 생성되어 있는 것이다. 그리고 .을 통해 property에 접근하더라도, 자동으로 getter나 setter가 호출된다.
다만 getter과 setter에 로직이 삽입되어야 할 수도 있다. 이를 위해서는 getter와 setter를 명시해주어야 하는데, 해당 property의 하단에 get(), set(value)을 선언할 수 있다. 함수와 달리 fun 키워드를 사용하지는 않는다.
class Student() {
var name: String = "Unknown"
get() = "Name is " + field
set(value) { field = value.decapitalize() }
}
fun main(args: Array<String>) {
val student = Student()
println(student.name)
student.name = "Miu"
println(student.name)
}
위 프로그램의 결과는 다음과 같다.
Name is Unknown
Name is miu
'콤퓨타 왕기초 > Kotlin' 카테고리의 다른 글
[OOP] Visibility Modifiers (0) | 2021.06.12 |
---|---|
[OOP] inheritance (0) | 2021.06.12 |
[OOP] Constructors (0) | 2021.06.10 |
[OOP] OOP, Class and Objects (0) | 2021.06.10 |
[Basic] Tail Call, Tail Recursion (0) | 2021.06.10 |
Comments