title: In C# override modifier is mandatory in derive class for virtual/abstract methods of base class
body: <pre><code>public class Shapes
  {
    public virtual void Color()
    {
      Console.WriteLine("Shapes");
    }
  }
  
  public class Square : Shapes
  {
    public void Color()
    {
      Console.WriteLine("Square");
    }
  }
  
  public class Test
  { 
    public static void main()
    {
      Shapes s1 = new Shapes();
      s1.Color();
      Shapes s2 = new Square();
      s2.Color();
    }
  }
  </code></pre>
  
  <p>I want to know if the base class has defined some methods virtual, then is it mandatory to override them in derive class? Similarly, If the base class method is abstract, we need to implement the method in derive class, but is override modifier is mandatory? What if override modifier is omitted.</p>