Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Java: polymorphism, override, overload

К каким принципам ООП относятся override и overload?

Этот вопрос проверяет понимание базовых принципов ООП и различий между полиморфизмом времени компиляции и выполнения.

Короткий ответ

Override относится к полиморфизму времени выполнения.
Overload относится к полиморфизму времени компиляции.
Оба механизма позволяют вызывать методы с одинаковым именем, но работают по разным правилам.
Override зависит от фактического типа объекта.
Overload зависит от сигнатуры метода и типа аргументов.

Длинный ответ

Чтобы понять различия, сначала разберем общее.

Определение

Полиморфизм — это способность вызывать разные реализации метода через единый интерфейс.

Overload (перегрузка методов)

Overload — это выбор метода на этапе компиляции.

Условия:

  • Одинаковое имя метода

  • Разные параметры (тип, количество, порядок)

Пример:

class Calculator {
    int sum(int a, int b) {
        return a + b;
    }

    double sum(double a, double b) {
        return a + b;
    }
}

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

  • Не зависит от наследования

  • Выбор метода происходит компилятором

Override (переопределение методов)

Override — это выбор метода во время выполнения.

Условия:

  • Наследование

  • Совпадение сигнатуры метода

  • Нельзя уменьшать уровень доступа

Пример:

class Animal {
    void sound() {
        System.out.println("Some sound");
    }
}

class Dog extends Animal {
    @Override
    void sound() {
        System.out.println("Bark");
    }
}

Вызов зависит от реального типа объекта, а не от типа ссылки.

Связь с принципами ООП

  • Override — полиморфизм времени выполнения

  • Overload — полиморфизм времени компиляции

Вывод

Оба механизма относятся к полиморфизму, но решают разные задачи и работают на разных этапах выполнения программы.

Уровень

  • Рейтинг:

    4

  • Сложность:

    4

Навыки

  • Java

    Java

Ключевые слова

#polymorphism

#override

#overload

Подпишись на Java Developer в телеграм