I'm trying to wrap my head around the SOLID principles and it seems like an interface doesn't necessarily block the creation or the use of methods not stated in the interface. Then the question is should you use the extra methods an implementation brings or strictly adhere to the interface?
I would assume not and if you needed to use said method you should create another interface / class so that you can keep the interface separation principle.
Is this right?