언어/Kotlin

[Kotlin] 확장 속성, 함수 추가

implement 2023. 4. 7. 12:00
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)
}

 

반응형