[kotlin] 코틀린 클래스의 확장 함수와 확장 프로퍼티

코틀린은 객체 지향 프로그래밍 언어로, 확장 함수(Extension Function)확장 프로퍼티(Extension Property)를 통해 기존 클래스에 새로운 함수와 프로퍼티를 추가할 수 있습니다. 이 글에서는 코틀린에서 확장 함수와 확장 프로퍼티를 사용하는 방법에 대해 알아보겠습니다.

확장 함수(Extension Function)

확장 함수는 기존 클래스의 멤버 메서드처럼 호출되지만, 해당 클래스의 소스 코드를 변경할 필요 없이 정의할 수 있습니다.

fun String.removeSpaces(): String {
    return this.replace(" ", "")
}

fun main() {
    val str = "Hello World"
    println(str.removeSpaces()) // 출력: HelloWorld
}

위의 예제에서 removeSpaces 함수는 String 클래스에 새로운 기능을 추가하고 있습니다. str.removeSpaces() 호출을 통해 문자열의 공백을 제거한 결과를 반환받을 수 있습니다.

확장 프로퍼티(Extension Property)

확장 프로퍼티도 확장 함수와 비슷한 원리로 작동하며, 기존 클래스에 새로운 프로퍼티를 추가할 수 있습니다.

val String.isEmail: Boolean
    get() = this.contains("@")
 
fun main() {
    val email = "example@example.com"
    println(email.isEmail) // 출력: true
}

위의 예제에서 isEmail은 String 클래스의 확장 프로퍼티로, 해당 이메일 주소에 ‘@’ 기호가 포함되어 있는지를 체크합니다.

확장 함수와 확장 프로퍼티는 코틀린의 강력한 기능 중 하나로, 기존 클래스의 기능을 쉽게 확장하고 활용할 수 있도록 도와줍니다.

결론

코틀린의 확장 함수와 확장 프로퍼티를 사용하면 기존 클래스의 기능을 유연하게 확장할 수 있으며, 코드의 가독성 및 유지보수성을 향상시키는데 도움이 됩니다.

더 많은 정보를 원하시거나 실제 예제와 함께 더 자세하게 살펴보고 싶다면 코틀린 공식 문서를 참고하시기 바랍니다.