Parece-me que transgride um pouco o paradigma da OO ao permitir que uma classe descumpra o "contrato" assumido com uma interface quando declara implementá-la. Por outro lado, permite que novas versões da linguagem incluam novos métodos em uma interface sem inutilizar o código de aplicações codificadas em versões anteriores. Necessário para permitir evoluções garantindo "backward compatibility".