Kotlin/ 프로퍼티의 getter, setter

yellow·2021년 4월 14일
0

Kotlin

목록 보기
10/13

코틀린에서의 클래스 멤버변수

  • 코틀린에서는 클래스의 멤버변수를 프로퍼티라고 부른다.
  • 접근자인 getter와 setter가 내장되어있다.

코틀린 프로퍼티의 get(), set()

  • 코틀린에서 프로퍼티의 getter와 setter는 기본적으로 제공하기 때문에 따로 선언할 필요가 없다.

  • 그런데 프로퍼티에 값을 할당할 때 따로 규칙을 적용하고 싶거나
    외부에서 프로퍼티에 접근할 때 수행하고 싶은 기능이 있다면
    getter와 setter를 생략하지 않고 선언해주면 된다.

  • var는 getter(get())와 setter(set()) 모두를 선언해줄 수 있지만
    val는 getter만 선언해줄 수 있다.

  • getter와 setter는 프로퍼티 선언 자리 바로 밑에다가 선언해준다.

field

field는 프로퍼티에 저장된 값 자체를 지칭하는 예약어이다.
getter와 setter 내에서만 사용 가능하다.

예시

  • currentChannelNumber가 2가 넘어가면 0으로 만들고, 0보다 작아지면 2로 만들어주고 싶을 때
 var currentChannelNumber: Int = 0
        set(value) { // currentChannelNumber함수에 value를 할당할 때 호출되는 함수
            field = value
            if(field > 2){
                field = 0
            }
            if(field < 0){
                field = 2
            }
        }
        get() { // currentChannel이 밖에서 사용될 때 호출되는 함수
            println("호출되었습니다.")
            return field
        }
profile
할 수 있어! :)

0개의 댓글