オブジェクト指向の特徴
オブジェクト指向は次のような3つの特徴があります。
■ カプセル化
オブジェクトの内部を外部に公開したり、非公開にしたりする機能です。カプセル化によってデータを隠蔽し、データを操作するための手続きを一体化することができます。これにより、データを安全な状態に保つことができます。
■ インヘリタンス(継承)
既に用意されているオブジェクトを基に、機能などを追加して新たなオブジェクトを作ることができます。基になるオブジェクトは「スーパークラス」や「基底クラス」などと呼ばれます。継承して作成したオブジェクトは「サブクラス」や「派生クラス」などと呼ばれます。スーパークラスの機能がサブクラスに受け継がれるので、サブクラスでは、追加する機能や変更する記述をするだけで済みます。そのため、差分の記述をするだけでよくなります。それにより、開発工数を削減することができます。
■ ポリモーフィズム(多態性・多様性)
同じ名前の操作が、その時に実行するオブジェクトによって振る舞いが異なるものとなる機能です。
オブジェクト指向開発において、次のような立場に分類することができます。
○ オブジェクトを作成する側
オブジェクトを作成するために、利用する側に立って開発する必要があります。そのため、複雑な設計が必要になるなど、開発するのに手間がかかることがあります。また、オブジェクト指向の特徴を考慮に入れた開発が必要とされるため、高度なスキルが必要とされることがあります。
○ オブジェクトを利用する側
用意されているオブジェクトを使用します。使用するオブジェクトの内部構造を熟知する必要はなく、オブジェクトの特性、使い方を知ることによって利用することができます。その際、作成者の意図に従って利用する必要があります。
これから見るオブジェクト指向の特徴を、上記の2つの側面で確認しましょう。