Hai un punto , in puro linguaggio OO come Java non hai metodi stand-alone, quindi quando parliamo di dipendenza parliamo di classi e interfacce, non di metodi. Quindi, per concetto, la frase "dipende dai metodi" è sbagliata.
Detto questo, proviamo a chiarire in che modo le interfacce non segregate, cioè le interfacce che sono troppo generiche e quindi hanno troppi mathod che non sono specifici del client, possono causare danni. Sono sicuro che lo sai ma potrebbe aiutare gli altri lettori.
Implementors:
Quando implementi un'interfaccia, sei costretta a implementare tutti i suoi metodi (*) anche se lasci solo stub che non fanno nulla o restituiscono null, non puoi semplicemente ignorarli.
Una volta implementato il metodo di un'interfaccia, si ha una dipendenza da quel metodo. Se questo metodo, ad esempio, arriva a lanciare una nuova eccezione nella dichiarazione dell'interfaccia, sarà costretto ad aggiungerlo alle tue classi di implementazione.
Classi cliente:
Questo è il caso in cui potresti teoricamente ignorare i metodi che non usi, e questo è esattamente ciò che il principio menziona (i clienti). Per capirlo, rivediamo un altro principio, il DIP che afferma che si dovrebbe dipendere dalle astrazioni, non dalle concrezioni. Quindi le interfacce rendono possibile il DIP. Bene, quando si dipende da un'interfaccia, si dipende dall'intero di esso, non solo dai metodi A o B. Ciò che significa il principio è che molti interfacce client-specifici sono meglio di una grande interfaccia generica. Forse la classe, in senso stretto, non dipende dai metodi non utilizzati, ma tu come programmatore devi conoscerli. Semplicemente immaginando di programmare una classe che usa oggetti che implementano l'intefaccia gigante X che contiene metodi che non usi ... l'IDE manterrà una lista molto lunga di metodi che non usi e anche quando leggi la documentazione dell'interfaccia dovrai passare attraverso la documentazione di tutti quei metodi.
(*) L'eccezione di questo sono classi astratte che non sono forzate ad implementare nulla ma poi qualsiasi classe che la estende dovrà implementare tutti i metodi.