Here is a site with a good explanation:
http://www.dickbaldwin.com/csharp/Cs000120.htm
To quote an article:
The reason this type of polymorphism is often referred to as run-time polymorphism is because the decision about which version of the method cannot be executed before execution. A decision cannot be made at compile time (as is the case with overloaded methods).
, ( ) , .
, , , .