×
データ構造とアルゴリズム

オブジェクト指向が登場する以前は、プログラムの処理手順(ロジック)とデータは別々に管理されていました。しかし、システムが大規模化するにつれて、「どの関数がどのデータを書き換えているのか分からない」といった問題が頻発し、プログラムの保守や改修が極めて困難になりました。これを解決するために生まれたのがオブジェクト指向です。データ(属性:プロパティやフィールドとも呼ばれます)と、そのデータ専用の処理(メソッド)を「クラス」という一つの設計図の中にまとめ、「オブジェクト」というカプセルにして管理します。オブジェクト指向プログラミング(OOP)には、システムを効率よく構築するための三大要素と呼ばれる重要な概念があります。データの不正な書き換えを防ぐ「カプセル化」、既存の設計図を拡張して新しい設計図を作る「継承」、そして同じ命令でも受け取るオブジェクトによって異なる振る舞いをさせる「ポリモーフィズム(多態性)」です。これらを活用することで、変更に強く、複数人での開発にも適した柔軟なシステムを設計することができます。Java、C#、Python、Rubyなど、現代の主要なプログラミング言語の多くがオブジェクト指向をサポートしています。