Встречается на собеседованиях • сегодня

В чем разница между перегрузкой метода и переопределением метода

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

Переопределение метода (overriding) — замена реализации метода в подклассе, унаследованного от родительского класса. Метод должен иметь ту же сигнатуру (имя, параметры, возвращаемый тип) и аннотацию @Override. Выбор метода происходит в runtime (полиморфизм).

Пример перегрузки:

java
void print(int x) { System.out.println(x); }
void print(String s) { System.out.println(s); }

Пример переопределения:

java
class Parent { void show() { System.out.println("Parent"); } }
class Child extends Parent { 
    @Override 
    void show() { System.out.println("Child"); } 
}
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы