title: Reason for adding default and static methods in interfaces
body: <p>Java 8 introduced default and static methods on interfaces. So now you can have concrete implementations in your interface whether using default or static methods.</p>
  
  <p>The reason Java claimed to add these two new kind of methods is "ensure binary compatibility with code written for older versions of those interfaces".</p>
  
  <p>My question:</p>
  
  <ul>
  <li>Why to distort the interface original concept that suppose to be
  fully abstract in order to support existing architectural problems?</li>
  <li>What is the difference between using an abstract class and the new version of the interface other than the ability of a class to extend multiple interfaces?</li>
  </ul>