title: What's the effect of `override` in concrete class extending abstract class?
body: <p>In Scala, what's the difference between :</p>
  
  <pre><code>abstract class Car { def drive(distance: Integer) : Unit  }
  class BMW extends Car { def drive(distance: Integer) = println("I'm driving") } 
  </code></pre>
  
  <p>and :</p>
  
  <pre><code>abstract class Car { def drive(distance: Integer) : Unit  }
  class BMW extends Car { override def drive(distance: Integer) = println("I'm driving") } 
  </code></pre>
  
  <p>Specifically, what's the exact effect of the <code>override</code> keyword?</p>