オブジェクト指向

状態と振る舞いを持つオブジェクトへ責務を分け、変更と複雑性を管理する設計の考え方。

作成日: 2026-07-21 / 更新日: 2026-07-22

概要

オブジェクト指向は、データとそのデータに関係する処理をオブジェクトとしてまとめ、オブジェクト同士の協調でシステムを構成する考え方です。

クラスや継承を使うこと自体が目的ではありません。責務、依存関係、変更の影響範囲を整理し、業務ルールをコード上で守れるようにすることが中心です。

状態と振る舞い

決済を表す Payment は、金額や状態を保持するだけでなく、オーソリや売上確定の条件を守る振る舞いを持てます。

public class Payment {
    private PaymentStatus status = PaymentStatus.CREATED;

    public void authorize() {
        if (status != PaymentStatus.CREATED) {
            throw new IllegalStateException("オーソリできない状態です");
        }
        status = PaymentStatus.AUTHORIZED;
    }
}

外部から状態を自由に書き換えさせず、許可された操作だけを公開することで、不正な状態を作りにくくします。

主な要素

適用しやすい場面

単純なCRUDやデータ変換では、すべてをオブジェクトへ詰め込むとかえって複雑になる場合があります。

AI生成コードを見る観点

AIはクラスを生成できますが、どこに責務を置くべきかは要件と変更可能性を踏まえて判断する必要があります。

参考文献

更新履歴

  • 初版作成
  • プログラミングパラダイムの親ページと比較ページへのリンクを追加

関連項目

このページを参照しているページ