[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 클래스의 확장 프로퍼티로, 해당 이메일 주소에 ‘@’ 기호가 포함되어 있는지를 체크합니다.
확장 함수와 확장 프로퍼티는 코틀린의 강력한 기능 중 하나로, 기존 클래스의 기능을 쉽게 확장하고 활용할 수 있도록 도와줍니다.
결론
코틀린의 확장 함수와 확장 프로퍼티를 사용하면 기존 클래스의 기능을 유연하게 확장할 수 있으며, 코드의 가독성 및 유지보수성을 향상시키는데 도움이 됩니다.
더 많은 정보를 원하시거나 실제 예제와 함께 더 자세하게 살펴보고 싶다면 코틀린 공식 문서를 참고하시기 바랍니다.