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


1Property: Field와 Getter, Setter을 추상화한 것. Field에 접근하는 방식을 제어한다. Kotlin에서는 Getter와 Setter을 자동으로 생성한다.
2Field: 클래스 내에 선언된 변수.