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