Ответ
Расширение класса (extension function) в Kotlin позволяет добавлять новые функции к существующим классам без наследования или модификации исходного кода. Это удобно для работы со сторонними библиотеками или стандартными классами.
// Пример: добавление функции для String
fun String.addExclamation(): String {
return "$this!"
}
// Использование
val greeting = "Hello".addExclamation() // "Hello!"
Особенности:
- Расширения статически разрешаются (не виртуальны)
- Не имеют доступа к приватным членам класса
- Могут быть объявлены для nullable-типов (
String?) - Часто используются для улучшения читаемости кода (например, в DSL)