Method hiding and the "new" keyword
<p>For the life of me, I have never understood "method hiding" despite all the documentation on it.</p>

<p>Overriding means using the implementation in the derived class. Am I right in thinking that hiding (by using the "new" keyword") will mean that the base class definition is used? In which case, then why would you write a method in the inherited class??</p>

<p>In effect my 2 questions are:</p>

<ol>
<li>Is hiding the opposite of overriding?</li>
<li>What does the new keyword (for hiding) do and when/where is it used? The base class? An inherited class?</li>
<li>Any useful real world examples?</li>
</ol>
