Что такое Extention-функция

«Что такое Extention-функция» — вопрос из категории Kotlin, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Extension-функции (расширения) в Kotlin позволяют добавлять новые методы к существующим классам без наследования или модификации исходного кода. Они объявляются с префиксом имени класса-получателя (receiver type).

fun String.addExclamation(): String = "$this!"

// Использование
val greeting = "Hello".addExclamation() // "Hello!"

Особенности:

  • Не модифицируют оригинальный класс
  • Работают как статические методы под капотом
  • Доступны только в области видимости, где объявлены
  • Могут быть nullable (String?.function())
  • Не имеют доступа к приватным членам класса