Backing Field/Properties란?
Backing Field
- Property1가 Getter, Setter을 통해 접근하는 내부 Field2.
- Getter, Setter 내부에서
field
키워드를 통해 접근할 수 있다.
var count = 0 get() = field * 2 set(value) { if (value >= field) field = value }
Backing Properties
- Property가 Getter, Setter을 통해 접근하는 내부 Property.
- Property에 접근하는 방식을 제어한다.
private val _count = MutableLiveData<Int>(0) val count: LiveData<Int> get() = _count
Backing Properties vs private set
- Private Setter을 통해 내부 Property에 접근하는 방식을 제어할 수 있다. 이 경우 변수를 var로 선언하기 때문에 변수가 재할당될 수 있어 권장되지 않는다.
var count = MutableLiveData<Int>(0) private set
1Property: Field와 Getter, Setter을 추상화한 것. Field에 접근하는 방식을 제어한다. Kotlin에서는 Getter와 Setter을 자동으로 생성한다.
2Field: 클래스 내에 선언된 변수.