この機能にうってつけのシナリオの一つが、以下に説明するロギングの例である。ILoggerインターフェースが持つ抽象メソッドはWriteLogCoreただ一つだけで、WriteErrorやWriteInformationのような他のメソッドはすべて、それぞれ別の設定でWriteLogCoreメソッドを呼び出すデフォルトメソッドとして定義されている。ILoggerの実装者は、WriteLogCoreメソッドだけを実装すればよい。 ロガー型の各実装クラスで削減されるコードの行数を考えてもらいたい。この機能は素晴らしいものにもなり得るが、危険性がないわけではない。一種の多重継承であるので、ダイヤモンド問題が起こり得る。これについては後で述べる。また、インターフェースメソッドは、状態を持たない「純粋な振る舞い」でなければならない。つまり、インターフェースは、これまで同様、フィールドを直接参照すること