Полиморфизм - один из трех фундаментальных принципов ООП-парадигмы.
Замещение (также "перекрытие" или "переопределение" методов) - общее название механизма, предоставляемого ЯП для поддержки применения этого принципа при проектировании иерархий классов.
Конкретные детали реализации механизма могут отличаться, (как, например в Java и JS), но суть с т.з. ООП остается той же. А вот в С, например, такого механизма вообще нет, однако это не препятствует (просто не помогает!) писать
объектно ориентированный код на этом языке.
Так что, если под "замещением" понимается именно overriding, я бы не стал так широко отождествлять цель и средство ее достижения :)