일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- ListView
- 안드로이드
- node.js
- 리스트 뷰
- var
- 노트북
- 패널 교체
- as?
- 싱글 스레드
- Kotlin
- 오버로딩
- Java
- js
- adapter
- 파이썬
- 연산자
- 함수
- HP
- 코틀린
- 노트북 추천
- golang
- Array
- Android
- 배열
- 자바스크립트
- go
- javascript
- 자바
- Overloading
- Python
Archives
- Today
- Total
Bbaktaeho
코틀린(Kotlin) 17. 게터와 세터(get, set) 본문
반응형
코틀린에서 속성이란)
최상위 변수(함수나 클래스 외부에 정의된 변수)나 클래스의 멤버 변수로 선언하면 속성으로 간주된다. 클래스의 멤버 변수는 모두 private 제한자로 지정된다. 따라서 해당 클래스의 내부의 게터와 세터를 통해서만 속성을 참조할 수 있다.
클래스 속성의 값을 가져오는 것을 게터라고 하고 속성의 값을 변경하는 것을 세터라고 한다.
코틀린에서 속성을 선언하면 게터와 세터가 자동으로 생성된다. 단 변수를 val 로 선언했을 경우 게터만 생성된다.
getter, get)
기본적으로 게터는 자동 호출되어 값을 가져온다.
당연하게 생각했던 호출 과정이지만 사실 내부에선 get속성이름() 으로 생성되어 동작한다.
추가적인 처리가 필요할 때는 게터를 변경해야 한다. 코틀린에서는 get() 을 사용하면 해당 속성을 참조할 때 실제 게터가 자동으로 호출된다.
실행 결과는
field 키워드는 get()와 set() 내부에서 속성값을 직접 가져오거나 변경할 수 있고, 또 내부에서 게터와 세터가 호출되지 않도록 해준다. 따라서 속성을 참조할 때 발생하는 재귀 호출을 막을 수 있다.
setter, set)
기본적으로 세터는 자동 호출되어 값을 수정할 수 있다.
실행 결과는
게터와 마찬가지로 내부에서 set속성이름() 으로 동작한다.
set()을 사용한 코드를 보자.
실행 결과
set(value) 에서 value 키워드로 속성을 수정한다.
반응형
'프로그래밍 (Programming) > 코틀린 (Kotlin)' 카테고리의 다른 글
코틀린(Kotlin) 18. 멤버 함수와 오버로딩 (0) | 2019.02.22 |
---|---|
코틀린(Kotlin) 16. 클래스와 객체(생성자) (0) | 2019.02.22 |
코틀린(Kotlin) 15. 함수(fun, named argument, vararg) (0) | 2019.02.22 |
코틀린(Kotlin) 14. 스마트 캐스트(smart cast) (0) | 2019.02.22 |
코틀린(Kotlin) 13. NULL 처리, NULL 연산자 (0) | 2019.02.02 |