title: Adding methods or not adding methods to interface?
body: <p>In Java 8, we can have default implementations for methods in interfaces, in addition to declarations which need to be implemented in the concrete classes.</p>
  
  <p>Is it a good design or best practice to have default methods in an interface, or did Java 8 come-up with that only to provide more support on older APIs? Should we start with using default methods in new Java 8 projects?</p>
  
  <p>Please help me to understand what is good design here, in detail.</p>