• ベストアンサー

JAVA:抽象クラスとインタフェースクラスの違い

インタフェースクラスの存在意義がわかりません。 「処理の実体まで実装せず、箱だけ作っておく」という意味では、抽象クラスで良いのでは?と感じます。 (厳密には、インタフェースクラスの方は、継承せずに、複数の実装パターンを分けれるという部分に違いはあると思いますが、ほぼ存在意義がないように感じます。)

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4900/10361)
回答No.2

クラスだと多重継承(クラスAをクラスBの両方を継承してクラスCを定義する)ができません。 それを解決するために作られたのが、インタフェースです。 Javaがなぜ多重継承という機能を持っていないのかは「多重継承の問題点」あたりでググってください。

souken_200
質問者

お礼

ありがとうございます! ググることで、 一歩進んだ内容も理解できました!

その他の回答 (1)

  • Yanch
  • ベストアンサー率50% (114/225)
回答No.1

ところが、インターフェイスだと、多重実装(implements)が出来るのですなぁ。

souken_200
質問者

お礼

ありがとうございます! クラスAの持つメソッド群Aと、 クラスBの持つメソッド群Bを、 同時に継承できるというメリットがわかりました!