オブジェクト指向プログラミングについて
はじめに
プログラミングにはいくつかの考え方があります。その中でも、現在のアプリ開発で最も多く使われているのが オブジェクト指向プログラミング(Object-Oriented Programming: OOP) です。
本記事では、専門用語をできるだけ使わず、初学者でも直感的に理解できるように、オブジェクト指向と手続き型の違いをやさしく解説します。
オブジェクト指向とは何か?
一言で言うと、
「もの(オブジェクト)を中心に考えるプログラミングのやり方」
です。
その“もの”の中に 性質(データ) と 動き(機能) をセットでまとめるのが特徴です。
ケーキ屋さんの例で理解するオブジェクト指向
クラス(Class)=設計図
「チョコケーキの作り方」のように、
“こういうケーキを作るための設計図” を表すのがクラスです。
オブジェクト(Object)=実体
その設計図を使って作られた、
“実際のケーキ1つ1つ” をオブジェクトと呼びます。
例えば、同じ「チョコケーキの設計図」から
・大きめのチョコケーキ
・小さめのチョコケーキ
を何個でも作れます。
犬の例で見るオブジェクト指向
クラス(設計図)
犬クラス → 名前、年齢、吠える機能
オブジェクト(実体)
ポチ(名前=ポチ、年齢=2歳)
ココ(名前=ココ、年齢=1歳)
同じ「犬クラス」から
ポチもココも作ることができ、それぞれ独立して存在します。
オブジェクト指向言語の代表例
現在のアプリ・サービス開発ではほぼ必須レベルで使われています。
- Java
- C++
- Python
- Swift
- Kotlin
- Dart(Flutter)
- Ruby
- PHP
- C#
オブジェクト指向が便利な理由
整理しやすい
大きなアプリでも「部品ごと」に分けて考えられる。
再利用しやすい
同じ設計図(クラス)から何度でもオブジェクトを作れる。
ミスが減る
データと機能をセットにすることで管理が簡単になる。
チーム開発に向いている
担当を分けやすく、大規模開発でも破綻しにくい。
オブジェクト指向じゃない考え方:手続き型とは?
名前
手続き型プログラミング(Procedural Programming)
一言でいうと
「やることを順番に並べて書いていく方法」 です。
レシピのように
- 鍋に水を入れる
- 火にかける
- 麺をゆでる
- 味付けする
のように、手順を上から順番に書く のが特徴です。
手続き型の代表的な言語
- C 言語
- Fortran
- COBOL
- BASIC
など。
昔のプログラムや OS の内部では今でもよく使われています。
オブジェクト指向と手続き型の違い(まとめ)
| 項目 | オブジェクト指向 | 手続き型 |
|---|---|---|
| 考え方 | モノ中心 | 手順中心 |
| 例え | ケーキの設計図 → 実際のケーキ | レシピを順番に書く |
| 向いている分野 | アプリ・ゲーム・大規模開発 | 小さな処理・低レベル操作 |
| 主な言語 | Java, Python, Swift | C, BASIC など |
まとめ
- オブジェクト指向は“もの”を中心に考えるプログラミング。
- 手続き型は“手順”を中心に考えるプログラミング。
- Swift や Python、Dart(Flutter)など現代的な言語はほとんどオブジェクト指向。
- 大規模開発やアプリ開発に強いのがオブジェクト指向。