回答編集履歴
1
強制のメリット
    
        answer	
    CHANGED
    
    | @@ -54,4 +54,14 @@ | |
| 54 54 |  | 
| 55 55 | 
             
            `IWritable`は`write()`メソッドを持っているので`Greeter`側ではこれで問題ありません。
         | 
| 56 56 | 
             
            仮に実装クラスで`write()`をうっかり実装忘れしていたらコンパイルエラーに**してくれます。**
         | 
| 57 | 
            -
            (これを指して、「メソッドを持つように強制されている」)
         | 
| 57 | 
            +
            (これを指して、「メソッドを持つように強制されている」)
         | 
| 58 | 
            +
             | 
| 59 | 
            +
            > そもそも「ルールを強制させる為にインターフェース使うぞ!」とは思えないはずです。
         | 
| 60 | 
            +
             | 
| 61 | 
            +
            思うんです。
         | 
| 62 | 
            +
            プログラマーが意図しないミスをしたときに、実行時に気づくのではなく、
         | 
| 63 | 
            +
            コンパイルエラー(ここで言うルール)になってくれたほうが
         | 
| 64 | 
            +
            自動でミスを見つけてくれることになるので圧倒的に楽なんです。
         | 
| 65 | 
            +
             | 
| 66 | 
            +
            「~~Writerっていう名前のクラスなんだからWrite()を持っている」という人間が勝手に決めたことを
         | 
| 67 | 
            +
            コンパイルエラーという形で厳格に守れるようになります。
         | 
