オブジェクト指向(Object-Oriented)とは、プログラムを作るときの考え方の一つで、データとその操作をひとまとめにした「オブジェクト(もの)」を組み合わせてプログラムを組み立てる方式です。現実世界のものごとに見立てて整理するため、大きく複雑なプログラムでも分かりやすく、作りやすくなります。
現実世界でいえば、役割ごとに分かれた社員が協力して働く会社のようなものです。「経理担当」「営業担当」がそれぞれ自分の仕事とデータを持ち、必要なときに互いに依頼し合って全体の仕事を進めます。オブジェクト指向も、役割を持った部品同士が連携してプログラムを動かします。
オブジェクト指向の考え方
オブジェクト指向では、まず「もの」の設計図にあたるクラスを作り、それをもとに実際の「もの」であるオブジェクトを生み出します。各オブジェクトは、自分のデータ(属性)と、できること(操作)を持っています。たとえば「車」というクラスから、色や速度といったデータと「走る」「止まる」といった操作を持つ車のオブジェクトを作る、というイメージです。
オブジェクト指向の3つの柱
オブジェクト指向には、代表的な3つの考え方があります。
| 考え方 | 説明 | ひとことで言うと |
|---|---|---|
| カプセル化 | データと操作をひとまとめにし、中身を隠して安全に扱えるようにする。 | 中身を守る箱 |
| 継承 | 既存のクラスの性質を受け継いで、新しいクラスを作れる。 | 親から引き継ぐ |
| ポリモーフィズム | 同じ指示でも、ものによって違う動きをさせられる。 | ものに応じた反応 |
オブジェクト指向のメリット
オブジェクト指向は、規模の大きな開発で特に力を発揮します。
- 分かりやすく整理できる
現実のものごとに見立てるため、プログラムの構造を理解しやすくなります。 - 部品を再利用できる
一度作ったクラスを別の場所でも使い回せ、開発の手間が減ります。 - 修正・拡張がしやすい
部品ごとに分かれているため、一部を直しても全体への影響を抑えられます。 - 大人数の開発に向く
役割ごとに部品を分担でき、チームでの開発を進めやすくなります。
オブジェクト指向が使われる場面
オブジェクト指向は、現代の多くのプログラミング言語で採用されている、基本的な考え方です。Java、C#、Python、Rubyなど、幅広い言語で使われており、業務システムやアプリ開発など、規模の大きなソフトウェアを効率よく作るための土台となっています。
あわせて知っておきたい用語
- クラス:
オブジェクトの設計図にあたるもの。データと操作をまとめて定義します。 - オブジェクト:
クラスをもとに作られる実体。データと操作を持ちます。 - プログラミング言語:
プログラムを書くための言語。多くがオブジェクト指向に対応しています。 - Java:
オブジェクト指向を代表するプログラミング言語の一つです。 - 継承:
既存のクラスの性質を受け継いで新しいクラスを作る仕組みです。

コメント