Introduction
Default methods let you add new behavior to interfaces without breaking old code.
You want to add a new method to an interface but keep old classes working.
You want to provide a common method implementation that many classes can share.
You want to avoid writing the same method code in every class that implements an interface.