「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

OOP(オブジェクト指向プログラミング)

pointこの用語のポイント

pointプログラムの作り方だよ

point「モノ」に注目して設計するよ

point「OOP」と表現された場合は「Object-Oriented Programming」の略だよ

スポンサーリンク

簡単に書くよ

OOP(オブジェクト指向プログラミング)(読:オブジェクトシコウプログラミング 英:object-oriented programming)とは

「モノ」に注目した考え方(オブジェクト指向)でプログラムの構造を設計すること
です。


image piyo

詳しく書くよ

順番に見ていきましょう。
まずは予備知識として「オブジェクト指向」について結構ガッツリ説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。

オブジェクト指向は「『モノ』に注目した考え方」です。
「どんなやつで、どう動く」に注目した考え方です。

オブジェクト指向プログラミング

例えば、そうですね。
あなたがシューティングゲーム(射撃ゲーム)を作ろうとしているとしましょう。

シューティングゲームの基本的な登場人物は

1.自分
2.敵
3.弾


です。

オブジェクト指向プログラミング2

そして、それぞれの登場人物には「どんなやつ属性」と「どう動く(操作)」が設定されます。
例えば

・「自分」は3回「弾」に当たると爆発する(どんなやつ)
・「敵」は左に動ける(どう動く)
・「弾」の色は威力と対応している(どんなやつ)


などが「どんなやつ」と「どう動く」です。

オブジェクト指向プログラミング3

あとは、用意した

1.自分
2.敵
3.弾


を組み合わせて、あれやこれやする処理を たくさん作ればゲームは完成します。
例えば

「1」の「3」が「2」に当たったら「2」が消える
(「自分」の「弾」が「敵」に当たったら「敵」が消える)


のような処理を必要な分だけ作り込めば良いでしょう。

オブジェクト指向プログラミング4

ここまでを振り返ってみてください。
「自分」「敵」「弾」といったモノオブジェクトに注目して、あれこれ考えていますよね。
このような考え方がオブジェクト指向です。

オブジェクト指向プログラミング5

誤解を恐れずに言えば、オブジェクト指向のイメージは人形劇です。

人形劇をやるときは、まず人形を用意します。

オブジェクト指向プログラミング6

そして、人形同士を関わらせることで1つの物語を作り上げます。

オブジェクト指向プログラミング7

人形劇の中心は人形です。
物語は「人形に何をするか(どう動かすか)」によって決まります。

オブジェクト指向プログラミング8

オブジェクト指向では、まずモノ(オブジェクト)を用意します。

オブジェクト指向プログラミング9

そして、オブジェクト同士を関わらせることで1つの処理を作り上げます。

オブジェクト指向プログラミング10

オブジェクト指向の中心はオブジェクトです。
処理は「オブジェクトに何をするか」によって決まります。

オブジェクト指向プログラミング11

人形劇は、人形を用意して、その人形同士をあれこれすることで物語を作ります。
オブジェクト指向は、モノ(オブジェクト)を用意して、オブジェクト同士をあれこれすることで処理を作ります。
似ていますよね?

まずはオブジェクトを用意して、そのオブジェクトをあれこれしちゃうぜ!

なのがオブジェクト指向です。

以上を踏まえて

オブジェクト指向の考え方に沿った構造のプログラムを作る

のが「オブジェクト指向プログラミング」です。
「OOP」と表現されることも あります。

「OOP」と表現された場合は「Object-Oriented Programming(オブジェクト・オリエンテッド・プログラミング)」の略です。
気が向いたら、覚えてあげてください。

オブジェクト指向プログラミング12

※「Object-Oriented Programming」を何となく日本語にすると「オブジェクト指向プログラミング」となります。そのまんまですね。[詳細]

オブジェクト指向プログラミング13



元々、プログラミングでは処理を時系列に沿って上から下に向かって順番に書くのが一般的でした。
例えば、以下のような書き方です。

司会者のピヨ子さん登場
司会者のピヨ子さんが演目内容を解説
イケメン役者のアクマ君登場
ゴツイ体型の役者のピヨ太君登場
役者のアクマ君がギャグを披露
役者のピヨ太君がギャグを披露


オブジェクト指向プログラミングでは「モノ」に注目して考えます。
例えば

A.司会者のピヨ子さん
 □属性
  1-1.司会者

 □操作
  2-1.演目内容を解説

B.役者のアクマ君
 □属性
  1-1.役者
  1-2.イケメン

 □操作
  2-1.ギャグを言う

C.役者のピヨ太君
 □属性
  1-1.役者
  1-2.ゴツい

 □操作
  2-1.ギャグを言う

Aが登場
Aが2-1をする
Bが登場
Cが登場
Bが2-1をする
Cが2-1をする


のように「どんなやつで、どんな動きをするか」を定義した「モノ(今回の例では「A.司会者のピヨ子さん」「B.役者のアクマ君」「C.役者のピヨ太君」)」を用意し、その「モノ」と動きの組み合わせで処理を表現するのです。

あくまでイメージの話ですが、昔のプログラミングは小説を書く作業です。
出来事を順番にズラズラっと書いていくことで物語になります。

オブジェクト指向のプログラミングは人形劇を作る作業です。
まず人形を用意して、その人形がどう動くか決めることで物語になります。

何かやらなくてはいけない処理があったときに

1.その処理を実現するには、どんな「モノ」が必要か?を考え
2.その必要な「モノ」を用意し
3.その用意した「モノ」の組み合わせで処理を実現する


のがオブジェクト指向プログラミングのイメージです。


image piyo2

一言でまとめるよ

まぁ「オブジェクト指向プログラミング」って単語が出てきたら「『モノ』に注目してプログラムを設計するんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像003
書籍画像046

おまけ

■訳してみるよ

「object(オブジェクト)」の意味は「物」とか「物体」とか「対象」とかです。
「指向」は日本語ですね。
「programming(プログラミング)」は「program(プログラム)」+「ing」です。
「program(プログラム)」の意味は「計画」とか「演目」とか「(コンピュータの)プログラム」とかです。
何となく くっつけると

物体指向でプログラムを作る

となります。





書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本
「定年力」の鍛え方 老後の毎日を最高にする方法
クイズで学ぶUIデザイン ユーザビリティの基本が身につく50問