언어/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)
}
반응형