Что такое перегрузка методов

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

Ответ

Перегрузка методов (method overloading) — это возможность объявлять несколько методов с одним именем, но разными параметрами (типами, количеством или порядком). Компилятор определяет, какой метод вызвать, на основе переданных аргументов.

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

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

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

Нюансы:

  • Возвращаемый тип не учитывается при перегрузке.
  • Параметры должны отличаться по типу, количеству или порядку.
  • Можно перегружать методы в одном классе или при наследовании.