Вопрос проверяет понимание статической и динамической диспетчеризации методов в Swift.
Короткий ответ
Если метод объявлен только в extension протокола, используется реализация из этого extension.
Даже если тип имеет метод с таким же именем, он не будет вызван.
Вызов определяется на этапе компиляции.
Это называется статической диспетчеризацией.
Длинный ответ
Зарегистрироваться
Развернутый ответ доступен только зарегистрированным пользователям.