Я думаю, что Алан Кей говорил не о «динамическом связывании», а о «чрезвычайно позднем связывании», которое достижимо с помощью полиморфизма.

Вы сказали, что полиморфизм несущественен для ООП, но я думаю, что это так. Это позволяет скрыть последнюю возможную привязку и реальное поведение. Представьте, что вы передаете сообщение объекту: [объект aMessage]. При использовании полиморфизма вы не знаете, какая реализация метода будет вызвана до времени выполнения. Это может быть обработчик сообщений класса или его потомков. Итак, мы видим два основных момента полиморфизма в случае ООП:

  • Скрытие: вы не знаете (и не хотите знать), какой обработчик метода класса или его потомков будет вызван для ответа на сообщение.
  • Вы можете легко динамически поменять местами реализацию обработчика сообщений во время выполнения.