Kotlin
[Kotlin] Property / Backing Field
an-hayyy
2021. 9. 10. 10:01
- 코틀린의 프로퍼티는 자동으로 게터와 세터를 구현
- 필드(field) : 클래스 내의 맴버변수 (코틀린에서는 뒷받침하는 필드, Backing Fields라고 부름)
- 프로퍼티(property) : 필드와 게터 세터를 한데 묶어서 부르는 단어
- 프로퍼티의 선언 키워드에 따라 생성되는 접근자 메서드(getter/setter)가 다름
* val : 불변 값이므로 getter가 자동으로 구현
* var : 가변 값이므로 getter와 setter가 자동으로 구현
- 코틀린에서는 getter와 setter를 통하지 않고 직접 프로퍼티에 접근
* 자바 : SampleClass sample = new SamlpeClass();
sample.getName();
* 코틀린 : val sample = SamlpeClass()
smaple.name
- getter와 setter의 명시적 선언
* 프로퍼티는 클래스 내에 선언되어야함
* getter의 경우 프로퍼티 아래 get() 메서드를 선언해야 하며 리턴값은 프로퍼티의 데이터 타입과 동일해야함
class SamlpeClass {
val name = "name"
get() {
return field
}
var age = 5
get() {
return field
}
set(value) {
field = value
}
}
참고 : https://manorgass.tistory.com/80