オブジェクト指向
読み
おぶじぇくとしこう
意味
- プログラムをオブジェクト(データと処理をまとめた単位)の集まりとして設計するプログラミングパラダイムでOOPとも呼ばれる
- カプセル化・継承・ポリモーフィズムの3大原則を基本とし再利用性・保守性・拡張性を高める設計思想
- Java・C++・Python・C#などの主要言語がサポートし現実世界のモデルをコードで表現しやすい特徴がある
比喩
レゴブロックのようなもの。各パーツ(オブジェクト)を組み合わせて大きな作品を作り部品の再利用も簡単。
語源
object-oriented = オブジェクト指向の。object(物体・対象)+ oriented(志向の)
例文
- Userクラス・Productクラス・Orderクラスをオブジェクト指向で設計しECサイトのドメインモデルを構築した
- 継承を使ってAnimalクラスからDog・Catクラスを派生させコードの重複を削減した
- カプセル化でクラスの内部実装を隠蔽しpublicなインターフェースだけを公開して変更に強い設計にした
よくある勘違い
- すべてをオブジェクト指向で書くべきだと思うこと → 関数型プログラミングの方が適切な場合もある
- 継承を多用しすぎること → 継承よりコンポジション(組み合わせ)を優先すべき
- オブジェクト指向は難しいと敬遠すること → 基本原則を理解すれば実は直感的