コンテンツへスキップ
uencoder

Object-Oriented Programming

オブジェクト指向プログラミングは、オブジェクト(データ+振る舞い)を中心に据え、カプセル化、継承、多態性を通じてコードを組織化するパラダイムである。

目的

現実世界の実体をオブジェクトとしてモデル化し、複雑なシステムを組織化する。

メカニズム

クラスがオブジェクトのテンプレートを定義し、インスタンス化でオブジェクトを生成する。カプセル化は内部状態を隠し、継承はコードを再利用し、多態性はインターフェースを統一する。Java/C#/Pythonは古典的なOOPであり、JSはプロトタイプベースのOOPである。近年は継承よりコンポジションが推奨される。

ユースケース

  • コードの整理
  • システムのモデリング
  • 再利用しやすい設計(reuse)

References