Что такое Overload

«Что такое Overload» — вопрос из категории ООП, который задают на 26% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Перегрузка (Overload) позволяет создавать несколько методов с одинаковым именем, но разными параметрами (тип, количество, порядок). Компилятор выбирает подходящий метод на основе аргументов.

Пример:

fun sum(a: Int, b: Int): Int {
    return a + b
}

fun sum(a: Double, b: Double): Double {
    return a + b
}

Ключевые моменты:

  • Различается только сигнатура (параметры)
  • Возвращаемый тип не учитывается
  • Упрощает API, делая его интуитивным
  • Часто используется в конструкторах