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

В чем разница между истинным и ложным полиморфизмом

Истинный полиморфизм (runtime) достигается через переопределение методов (override) и работает во время выполнения. Ложный (compile-time) - через перегрузку методов (overload) и разрешается на этапе компиляции.

Пример истинного:

java
class Animal {
    void sound() { System.out.println("Some sound"); }
}
class Dog extends Animal {
    @Override
    void sound() { System.out.println("Bark"); } // runtime выбор метода
}

Пример ложного:

java
class Calculator {
    int add(int a, int b) { return a + b; }
    double add(double a, double b) { return a + b; } // компилятор выбирает версию
}

Ключевое отличие: истинный полиморфизм динамичен (определяется типом объекта), ложный статичен (определяется сигнатурой).

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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