title: Overriding methods in C#
body: <p>I'm currently learning C# by myself after studying Java for an entire semester.</p>
  <p>One of the features of java (or object-oriented programming in general) is the ability to override methods that are inherited into a subclass.</p>
  <p>When I was studying this feature in C#, I tried to override a method by myself without studying the proper way to override methods in C# and it seemed like it worked.</p>
  <p>However, upon further study, I learned that we need to use the keyword <code>virtual</code> when declaring the method in the superclass and <code>override</code> when overriding the method in the subclass.</p>
  <p><strong>So my question is:</strong> <br/>What is the correct way to override methods in C#?</p>
  <p><strong>Additional note:</strong> I'm also wondering if the same case applies to overloading methods in C#.</p>