Kotlin 멤버 변수 get/set
10 Apr 2019 | Kotlin코틀린에서는 변수 선언만 하면 컴파일러가 자동으로 get/set 함수를 생성해줍니다.
class Person() {
var name: String = ""
var age: Int = 0
}
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
var p = Person()
p.name = "snowdeer"
p.age = 30
}
}
get/set 함수 오버라이딩
class Person() {
var name: String = ""
set(name) {
field = "[-- $name --]"
}
get() = "Hello, " + field
var age: Int = 0
}
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
var p = Person()
p.name = "snowdeer"
p.age = 30
Log.i("snowdeer", "snowdeer] " + p.name)
}
}
실행 결과는 다음과 같습니다.
Hello, [-- snowdeer --]
만약 외부에서 set 함수에 접근하지 못하게 하려면 private 키워드를 사용하면 됩니다.
class Person() {
var name: String = ""
private set(name) {
field = "[-- $name --]"
}
get() = "Hello, " + field
}