Java

JavaのInterface型(インターフェースについて

投稿日:2017年10月9日 更新日:

Javaで忘れやすいけど重要なInterfaceについて、ポイントをまとめた。

A.Interface型の決まり

Interface型はClass型の実装規約を定義するものである。

Interface型はnewできない。
Interface型をImplementした実装クラスはnewできる。

Interface型はフィールドを持てる。
Interface型は抽象メソッドを持てる。
Interface型は具象メソッドを持てない。

B.Interface型を実装するClass型の決まり

Interface型で定義されている抽象クラスは必ず実装しなければならない。

C.Interface型を引数で受け取るメソッド

Interface型はメソッド引数で受け取ることができる。

メソッド引数で受け取ったInterface型の中身はBである。
メソッド引数で受け取ったInterface型が持つ抽象メソッドを実行でき、
その実行内容はBで実装されている内容が実行される。

インターフェースは↑↑↑この使い方をするためにある!

Interface型のメリット

呼び出し側のメリット

呼び出し側は実装を知らなくても扱える。

呼び出される側のメリット

逆に呼び出される側は呼び出す側に実装内容を知られない。言い換えると、実装を隠蔽することができる。

カプセル化

データ隠蔽

型を隠蔽

振る舞いを隠蔽

できるのが、実装側のメリットである。

-Java

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

現場で役立つシステム設計の原則

増田亨氏(株式会社ギルドワークスのエンジニア)の「現場で役立つシステム設計の原則」という本を読みました。 きっかけは、次案件でSpringMVCを使って画面の設計以降を任されることになったのですが、あ …

no image

クラウド開発環境の構築を体系的に学ぼう

1.序章 クラウド開発環境とは何か? クラウド開発環境の構築で挫折しないために クラウド開発環境を効果的に習得する順序 2.Linux OSとは何か? クラウドサービス(IaaS)を申し込む Linu …

no image

Javaアプリケーションからシェルを実行する

ProcessBuilderクラスを使用する。>>Class ProcessBuilder 参考サイト Javaで外部コマンド(プロセス)を実行する方法について Javaから外部プログラム「7-zip …

no image

POJOとはimplements や extends をしてもよいのか?

POJOについて、interface を implements や class を extends をしてもよいのか? という、POJOの定義について調べました。 日本語版のWikipediaには書い …