title: The importance of interfaces in Java
body: <p>Let's say we have two classes,  <code>Tiger</code> and <code>Aeroplane</code>.
  One thing in common for these two types is the Speed. I know that it would be illogical to create a superclass <code>ClassWithSpeed</code> and then derive subclasses <code>Aeroplane</code> and <code>Tiger</code> from it.
  Instead, it is better to create an interface that contains the method <code>speed()</code> and then implement it in <code>Aeroplane</code> and <code>Tiger</code>. I get that. But, we can do the same thing without interfaces. We could define method <code>speed()</code> in <code>Aeroplane</code> and method <code>speed()</code> in <code>Tiger</code>.
  The only (maybe very big) flaw it would be that we couldn't "reach" the objects of <code>Tiger</code> and <code>Aeroplane</code> through an interface reference.</p>
  
  <p>I am beginner in Java and OOP, and I would be very grateful if someone explained to me the role of interfaces.
  Cheers!</p>