【いんたーふぇーす】
インターフェース とは?
最終更新:
💡 共通の操作を約束し、異なる実装を同じ入口から使う
異なる型に共通の操作を定める仕組み。このページではプログラミング言語のインターフェース型を扱う。メソッドなどの契約を通じて実装を利用でき、定義できる内容や実装の規則は言語によって異なる。
📌 このページのポイント
- メソッドなど、使う側へ提供する操作の契約を定める
- 実装する型は契約を満たす。標準実装を使える言語もある
- 共通の型を通じて、具体的な実装を使い分けられる
- 実装を差し替える際も、結果の意味やエラーなどの約束を確認する
インターフェースって何?
異なる型に共通の操作を約束させる仕組みだよ。例えば動物という型に鳴く操作を定め、犬と猫がそれぞれ実装する。使う側は動物という共通の型を通じて呼べるけれど、実際の鳴き方は実装ごとに異なるんだ。
直接クラスを呼ぶのと何が違うの?
使う側が具体的なクラスの詳細に依存しにくくなるよ。例えば支払い用の契約を通じてカード払いと振込を使い分ける設計ができる。ただし実装の追加や差し替えには設定や組み立ての変更が必要な場合もあり、戻り値や失敗時の動作が契約に合うかも確かめるんだ。
インターフェースを複数実装できる?
抽象クラスとの違いは、実装を書けるかどうか?
名前の先頭にIを付けるの?
C#の公式ガイドでは、ILoggerのように大文字Iから始める慣習を示しているよ。これはインターフェースの機能そのものではなく命名規則。言語のガイドとチームの規約を確認しよう。
まとめ:ざっくりこれだけ覚えればOK!
「インターフェース」って出てきたら「異なる実装を共通の操作で使うための契約」と思えればだいたいOK!
📖 おまけ:英語の意味
「interface」 = 接点・境界面
💬 人とシステムの接点を指すUIにも使われる言葉。このページでは、プログラミング言語で共通の操作を定める型の意味を扱うよ