オブジェクト指向とは?3大要素

公開: 更新: カテゴリ: マネジメント系

30秒で結論

オブジェクト指向とは(全体像)

オブジェクト指向とは、プログラムを作るときの考え方(設計思想)のひとつ。関係するデータ(値)と、その処理(メソッド)を、「オブジェクト」というひとつのまとまりにして扱うのが特徴だ。

たとえば「自動車」というオブジェクトに、「速度」などのデータと、「走る・止まる」といった処理を、まとめて持たせるイメージ。バラバラに管理するより、関係するものをひとまとめにできるので、分かりやすく、再利用しやすい。

ここで一番の勘違いポイント。オブジェクト指向は、特定の言語(Javaなど)の名前ではない。あくまで考え方(思想)で、JavaやPython、C++など、いろいろな言語で使える。「オブジェクト指向=Java」と思い込むと誤りになる。


詳しく:3大要素

ここが心臓部。オブジェクト指向の3つの大きな特徴を表で押さえよう。

オブジェクト指向の3大要素

要素やさしい意味
カプセル化データを隠して、決まった窓口(メソッド)経由でだけ使えるようにする
継承親のもつ性質を、子が受け継いで使う(拡張・特化できる)
多態性(ポリモーフィズム)同じ呼び出しでも、相手によって違う動きをする

わかりやすく言い換えると

身近なたとえで整理しよう。

オブジェクト指向は、「モノごとに、データと動きをセットで持たせる」イメージ。自動車なら、速度(データ)と走る・止まる(動き)をひとまとめにする。要するに、関係するものをまとめて扱う考え方だ。

カプセル化は、「中身を勝手にいじらせず、決まったボタンで操作する」こと。継承は、「親のレシピを受け継いで、少しアレンジする」こと(丸写しではない)。多態性は、「同じ『鳴け』でも、犬と猫で違う声になる」こと。

「オブジェクト指向=Java」というのは思い込み。つまり、考え方なので、いろいろな言語で使える、と覚えておこう。


試験のツボ

🔴 一番出る:3大要素

①カプセル化(データを隠し、窓口経由で使う)・継承(親の性質を受け継ぐ)

②多態性(同じ呼び出しでも相手で動きが変わる)

🔴 次に出る:継承はコピーではない

①継承は、親を土台に拡張・特化すること

②「丸ごとコピー」ではない

🟡 押さえると安定:言語ではなく考え方

①オブジェクト指向は、特定の言語の名前ではない

②考え方なので、Java・Pythonなど複数の言語で使える


よくある間違い

「オブジェクト指向とは、Javaという言語の名前だ」→ ✗  オブジェクト指向は考え方(思想)。Java・Pythonなど複数の言語で使える。

「継承とは、親のコードを丸ごとコピーすることだ」→ ✗  継承は、親を土台にして拡張・特化すること。丸ごとコピーではない。

「カプセル化とは、データを誰でも自由にいじれるようにすることだ」→ ✗  カプセル化は逆で、データを隠し、決まった窓口を通してだけ使えるようにする。


試験での出題パターン

実際の問題でたしかめてみよう。

オリジナル問題1(オブジェクト指向の正体)

📝 オリジナル問題 1 オブジェクト指向の正体

オブジェクト指向に関する次の記述のうち、最も適切なものはどれか。

  1. 社員の出退勤を記録して、毎月の給与を計算するためのしくみのことである
  2. 取引先へ毎月の請求書を郵送する、決まった事務作業のことを指している
  3. 完成したシステムを宣伝して、より多く売るための広告活動のことである
  4. データと処理を、オブジェクトにまとめて一体化して考える設計の考え方
プロネコ
プロネコ 解答・解説

解答は 4 だよ。

オブジェクト指向は、データと処理を、オブジェクトというまとまりに一体化して考える設計の考え方だよ。関係するものをまとめて扱うんだ。

選択肢1は給与計算、選択肢2は請求書の事務、選択肢3は広告で、どれも違うよ。

選択肢判定理由
1給与計算のしくみではない
2請求書の事務の話
3広告活動ではない
4データと処理をまとめる考え方で正しい

オリジナル問題2(3大要素)

📝 オリジナル問題 2 オブジェクト指向の3大要素

オブジェクト指向の3大要素として、最も適切なものはどれか。

  1. 売上・費用・利益という、決算で使う3つの数字のことを指している
  2. 朝・昼・夜という、1日の3つの時間帯のことを指している言葉である
  3. カプセル化・継承・多態性(ポリモーフィズム)の3つのことである
  4. 北・南・西という、3つの方角のことを指している言葉である
プロネコ
プロネコ 解答・解説

解答は 3 だよ。

オブジェクト指向の3大要素は、カプセル化・継承・多態性(ポリモーフィズム)だよ。隠す・受け継ぐ・相手で動きが変わる、の3つだね。

選択肢1の決算の数字、選択肢2の時間帯、選択肢4の方角は、いずれも誤りだよ。

選択肢判定理由
1決算の数字ではない
2時間帯のことではない
3カプセル化・継承・多態性で正しい
4方角のことではない

オリジナル問題3(言語ではなく考え方)

📝 オリジナル問題 3 オブジェクト指向は考え方

オブジェクト指向に関する次の記述のうち、最も適切なものはどれか。

  1. 特定の言語の名前ではなく考え方で、複数の言語で使えるものである
  2. Javaという1つの言語の名前で、ほかの言語ではいっさい使えない
  3. 社員の給与を計算する処理だけを指す、経理専用の考え方である
  4. 取引先へ請求書を郵送する事務作業だけを指す言葉のことである
プロネコ
プロネコ 解答・解説

解答は 1 だよ。

オブジェクト指向は、特定の言語の名前ではなく考え方で、複数の言語で使えるものだよ。「OOP=Java」と思い込まないでね。

選択肢2の「Javaだけ」、選択肢3の給与計算、選択肢4の請求書の事務は、いずれも誤りだよ。

選択肢判定理由
1考え方で複数言語で使えるで正しい
2Javaだけの名前ではない
3給与計算の考え方ではない
4請求書の事務ではない

まとめ

押さえどころ

次に学ぶ


執筆: SikakuQuest編集部

勉強は、クエストになった。

資格の勉強を、冒険に変えるRPG学習アプリ

App Storeで見る