코틀린 언어 정리 2-13
class 확장(Extensions)
특징(제한) 및 사례 분석
(계속)...
확장 함수 제약(this, super)
this
확장함수는 리시버 클래스 외부에 선언하는데 이 때 전역에 선언할 수도 있고 다른 클래스 내부에 선언할 수도 있습니다. 전역에 선언하는 경우 this는 혼동할 여지 없이 리시버 객체를 접근하는 것으로 생각할 수 있습니다. 그런데 다른 클래스 내부에 선언한 경우라면 혼동의 여지가 있을 수도 있습니다. this로 가리킬 수 있을 것 같은 객체가 리시버 객체와, 자신의 선언을 포함한 객체 두 가지가 있기 때문입니다. 이 경우 리시버 객체는 this, 자신의 선언을 포함한 객체는 this@클래스이름 의 방법으로 접근할 수 있습니다.
super
super는 사용 불가능 합니다.
확장 프로퍼티 제약
확장 프로퍼티는 backing field를 가질 수 없어 상태를 저장하지 못하므로 초기화도 불가능합니다. 따라서 getter / setter를 통해 명시적으로 선언하는 방법을 사용해야 합니다.
예제
'코틀린( Kotlin )' 카테고리의 다른 글
코틀린 2-15 class 확장(Extensions)-4 컴패니언 오브젝트의 확장, 확장 import (0) | 2020.04.08 |
---|---|
코틀린 2-14 class 확장(Extensions)-3 Nullable Receiver (0) | 2020.04.08 |
코틀린 2-12 class 확장(Extensions)-1 확장과 멤버 접근 기본적인 우선순위 규칙 (0) | 2020.04.07 |
코틀린 2-11 Object Expressions and Declarations (0) | 2020.04.07 |
코틀린 2-10 Anonymous inner class( object expression ) (0) | 2020.04.07 |