オブジェクト指向とは
オブジェクト指向とは、コンピュータプログラムにおける設計や実装についての考え方の一つである。互いに密接に関連しているデータと手続き(処理手順)をオブジェクト(object)と呼ばれる一つのまとまりとして定義をし、様々なオブジェクトを組み合わせて、その関連性や相互作用を記述していくことによりシステム全体を構築していく手法のことである。
オブジェクト指向のあれこれ!
オブジェクト指向は、システム全体を現実世界の物理的なモノ(object)に見立て、「オブジェクト」と呼ばれる構成単位の組み合わせとして捉えている。その振る舞いをオブジェクト間の相互作用として記述していくのである。オブジェクトにはそれぞれ固有のデータ(属性/プロパティ)と手続き(メソッド)があり、外部からのメッセージを受けてメソッドを実行し、データを操作していく。オブジェクトに付随するデータの操作は、原則としてすべてオブジェクト中のメソッドによって行われる。
オブジェクト指向は、互いに関連する要素が一つのオブジェクトに集約されるため、複数人での開発などで分担や統合などが行いやすくなる。そのため、大規模なソフトウェア設計・開発に向いているとされている。適切に設計されたコードは他のプログラムで再利用しやすいため、似たような機能を重複して開発することを避け、開発の効率化を促すとされている。
○ポリモーフィズム(polymorphism)
ポリモーフィズムとは、プログラミング言語の持つ性質の一つである。とある関数やメソッドなどが、引数や返り値の数やデータ型などの異なる複数の実装を持ち、呼び出し時に使い分けるようにできることを意味している。
静的型付けの言語で関数などを定義する場合には、引数や返り値のデータ型を指定しなければならな。そのため、処理内容は同一であっても、データ型ごとに整数用、浮動小数点数用、複素数型用…といったように異なる(名前の)関数を何度も繰り返し定義しなくてはならない。よって、呼び出し側も型ごとに異なる関数を呼び分けなければならなくなる。
ポリモーフィズムに対応した言語においては、同名の関数などを繰り返し定義することが可能となり、型ごとに別々の関数を用意しなくても一つの(共通の名前を持つ)関数としてまとめることができるのである。ただし、具体的な処理内容は型ごとに個別に記述しなければならない点には注意が必要だ。