最弱エンジニアの付箋紙

システム開発に関して勉強になったことを書きためて、なんとなく身につけるための心のメモ。

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

どこかの記事で読んだものがわかりやすかったのでめも。
※どこだったかは忘れた

抽象クラス = 「is - a」関係

[iPhone] is a [携帯電話]
[Android スマホ] is a [携帯電話]

インターフェース = 「has - a」関係

[携帯電話] has a [メール機能]
[携帯電話] has a [通話機能]

Javaだと言語的に同じような使い方ができることがあるけど、
概念的に使い分けるのがお作法だということですな