オブジェクトのインタフェイス(*)を中心にして考えるが吉。
この責務を果たしてもらうので、このメソッドが必要と考える。

class が interface を implements するということは、
その class は interface が意図している責務を果たすことが義務付けられる。
(が、意図はコード上には現れないのでドキュメントを読むしかない)
# implemets ActionListener したならアクションリスナとしてきりきり働けというわけだ。

どうやって責務を果たすかというと method を実装することによって。
# implemets ActionListener したら actionPerformed を実装しなくてはならない

たまたま、あるクラスと責務がほとんど被っている場合は、
そのクラスを継承して、継承したクラスの機能を暗黙的に利用するわけ。

* Java の interface ではなく、オブジェクトに責務を果たしてもらうための界面。
 つまり、オブジェクトが理解するメッセージ群。
 要は、オブジェクトが持っているメソッド群。