Разница между переопределением и перегрузкой методов в Java заключается в следующем:
- Переопределение — это возможность класса наследника предоставить свою реализацию метода, который уже предоставлен в родительском классе. 1 При переопределении сохраняется та же сигнатура метода (имя метода и типы его параметров), но меняется его реализация. 3
- Перегрузка — это возможность класса иметь два или более метода с одинаковыми именами, но разными параметрами. 1 Методы могут отличаться количеством параметров, типом параметров или их порядком. 1
Таким образом, при перегрузке создаётся внутри одного класса много методов с одинаковым названием, но разными параметрами, а при переопределении берётся один и тот же метод и ему заставляют делать разные вещи в зависимости от того, в каком классе его вызвали. 2