метод перегрузки является примером compile time
/ static polymorphism
, поскольку привязка метода между вызовом метода и определением метода происходит во время компиляции, и это зависит от ссылки класса (ссылка, созданная во время компиляции, и переходит в стек).
метод переопределения является примером run time
/ dynamic polymorphism
, поскольку привязка метода между вызовом метода и определением метода происходит во время выполнения и зависит от объекта класса (объект, созданный во время выполнения, и переходит к куча).