Kotlin

[Kotlin] 기존 클래스의 확장함수 사용

노소래 2021. 7. 18. 06:49

확장함수란 이미 주어진 클래스에 없는 기능이 필요할 때 해당 클래스의 함수를 직접 만들어서 사용할 수 있는 기능이다. 형식은 다음과 같다.

 

fun 클래스명.함수명(인자): 반환형 {} 

 

굵은 글씨 처리한 부분이 일반적으로 함수선언하는 방법과 다른 부분이다.

 

예시를 들어보면 어떤 String이 숫자인지 아닌지 알고 싶을 때가 있다고 가정해보자, 그런데 Kotlin의 String클래스에는 정수인지 아닌지 알 수 있는 함수가 없다. 그래서 직접 아래와 같은 코드를 작성할 수 있다.

fun String.isNumber(): Boolean {
    return try {
        this.toInt()
        return true
    } catch (e: NumberFormatException) {
        return false
    }
}