title: Why do we need the new keyword and why is the default behavior to hide and not override?
body: <p>I was looking at this <a href="http://geekswithblogs.net/BlackRabbitCoder/archive/2010/06/24/c-fundamentals-beware-of-implicit-hiding.aspx" rel="noreferrer">blog post</a> and had following questions:</p>
  
  <ul>
  <li>Why do we need the <code>new</code> keyword, is it just to specify that a base class method is being hidden. I mean, why do we need it? If we don't use the <code>override</code> keyword, aren't we hiding the base class method?</li>
  <li>Why is the default in C# to hide and not override? Why have the designers implemented it this way?</li>
  </ul>