я правильно понимаю, что при раннем связывании вызов некоторого метода происходит на основании типа ссылки на базовый класс, а при позднем зависит от того, что мы подсунем интерфейсу?
по моему наоборот
понятными словами это будет так: не виртуальные вызовы определяются на этапе компиляции, а виртуальные на этапе выполнения программы