728x90

기존 데이터 유형에 점(.) 문법으로 엑세스 할 수 있는 새로운 속성, 함수를 추가해 액세스 할 수 있게 할 수 있다.
확장 속성 추가
확장 속성은 데이터를 저장할 수 없으므로 get-only여야 한다.
확장 속성을 정의하는 법은 다음과 같다.
val 타입.속성명: 데이터타입
[getter 함수]
예시
class Planets() {
val earth = "지구"
val mars = "화성"
}
val Planets.order: String
get() = "${earth} 다음은 ${mars}"
fun main() {
val p = Planets()
print(p.order)
}
출력 : "지구 다음은 화성"
확장 함수 추가
확장 함수을 정의하는 법은 다음과 같다.
fun 타입.함수이름 (매개변수): return타입 {
[내용]
}
예시
class Score() {
val math = 9
}
fun Score.visualize(x: Int) {
repeat(x) { print('o') }
repeat(10 - x) { print('x') }
}
fun main() {
val s = Score()
s.visualize(s.math)
}
반응형
'언어 > Kotlin' 카테고리의 다른 글
| [Kotlin] 컬랙션 (0) | 2023.04.21 |
|---|---|
| [Kotlin] 범위 함수 (0) | 2023.04.14 |
| [Kotlin] 제네릭, enum 클래스, 데이터 클래스 (0) | 2023.03.31 |
| [Kotlin] 함수 유형 및 람다 표현 (1) | 2023.03.24 |
| [Kotlin] 속성 위임 정의 (0) | 2023.03.17 |