teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

強制のメリット

2018/06/23 11:09

投稿

ozwk
ozwk

スコア13553

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
+ コンパイルエラーという形で厳格に守れるようになります。