The interface segregation principle (ISP) is concerned with the way clients access the functionality developed in another class. It states that clients should not be forced to depend on functionality they don't use.
Following this principle has several upsides. On one hand, it protects your objects from depending on things