IT用語帳

コンポジション(委譲)

Composition

こんぽじしょん

クラスの機能を再利用する際、継承ではなく他のクラスのインスタンスをメンバとして保持し処理を委譲する設計手法。「継承より委譲を優先する」という設計原則に基づき、クラス間の結合度を下げ柔軟性を高める。
アプリケーション設計 > オブジェクト指向設計

関連キーワードの用語

SAカプセル化

オブジェクト内部のデータ構造や実装の詳細を隠蔽し、外部からはインタフェース(公開メソッド)を通じてのみアクセスさせる仕組み。情報隠蔽により、内部実装の変更が外部に影響しない独立性を実現する。

SASOLID原則

オブジェクト指向設計の5つの基本原則。単一責任の原則(S)、開放閉鎖の原則(O)、リスコフの置換原則(L)、インタフェース分離の原則(I)、依存性逆転の原則(D)。保守性・拡張性の高い設計を実現するための指針。

SAオブジェクト指向設計

データとそれに対する操作をオブジェクトとしてまとめ、オブジェクト間のメッセージパッシングによりシステムを構成する設計手法。カプセル化、継承、ポリモーフィズムを基本原理とし、再利用性と保守性の向上を目指す。

SA継承

既存のクラス(スーパークラス)の属性やメソッドを引き継いで新しいクラス(サブクラス)を定義する仕組み。コードの再利用性を高め、is-a関係を表現する。多重継承を避け、インタフェースの継承を推奨する設計が一般的。

SAポリモーフィズム(多態性)

同じインタフェースやメソッド呼び出しに対して、オブジェクトの実際の型に応じて異なる振る舞いを実現する仕組み。オーバーライドやインタフェース実装により実現し、条件分岐の削減と拡張性の向上に貢献する。

SA抽象クラス

直接インスタンス化できず、サブクラスで実装すべき抽象メソッドを定義するクラス。共通的な処理を定義しつつ、具体的な振る舞いをサブクラスに委ねる。インタフェースとの使い分けが設計のポイントとなる。