[kotlin] 코틀린에서 메서드의 확장
코틀린은 기존 클래스에 새로운 기능을 추가할 수 있는 확장 기능을 제공합니다. 확장 함수는 기존 클래스에 새로운 함수를 추가하고, 확장 프로퍼티는 기존 클래스에 새로운 속성을 추가할 수 있습니다.
확장 함수
확장 함수는 기존 클래스에 새로운 함수를 추가하는 기능을 제공합니다. 다음은 String
클래스에 reversed
라는 확장 함수를 추가하는 예제입니다.
fun String.reversed(): String {
return this.reversed()
}
위의 예제에서 reversed
함수는 String
클래스에 새로운 함수로 추가됩니다. 이제 문자열 객체를 생성할 때 reversed
함수를 호출하여 해당 문자열을 뒤집을 수 있습니다.
val original = "Hello"
val reversed = original.reversed() // "olleH"
확장 프로퍼티
확장 프로퍼티는 기존 클래스에 새로운 속성을 추가하는 기능을 제공합니다. 다음은 Int
클래스에 isEven
이라는 확장 프로퍼티를 추가하는 예제입니다.
val Int.isEven: Boolean
get() = this % 2 == 0
위의 예제에서 isEven
프로퍼티는 Int
클래스에 새로운 속성으로 추가됩니다. 이제 정수 변수를 생성할 때 isEven
속성을 사용하여 해당 정수가 짝수인지를 확인할 수 있습니다.
val number = 4
val isNumberEven = number.isEven // true
코틀린의 확장 기능을 활용하여 기존 클래스에 쉽게 새로운 기능을 추가할 수 있습니다.
결론
코틀린의 확장 기능을 사용하면 기존 클래스에 새로운 기능을 추가할 수 있어서 코드를 더 간결하게 작성할 수 있습니다. 또한 기능의 확장을 통해 기존 클래스를 수정하지 않고도 원하는 기능을 추가할 수 있어 유연한 코드 작성이 가능해집니다.
참고 자료
코틀린 공식 문서 - 확장 함수 코틀린 공식 문서 - 확장 프로퍼티