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

Object-Oriented Programming Language

pointこの用語のポイント

pointプログラミング言語の分類だよ

point「モノ」に注目した設計がやりやすいように調整されているよ

point「オブジェクト指向プログラミング言語」の英語表現だよ

スポンサーリンク

簡単に書くよ

Object-Oriented Programming Language(読:オブジェクト・オリエンテッド・プログラミング・ランゲージ)とは

「オブジェクト指向プログラミング言語」のこと。
用語の中身としては

プログラミング言語(プログラムの元ネタ(ソースコード)を書くときに使う言葉)の分類のひとつ
であり

「モノ」に注目した考え方(オブジェクト指向)で考えた設計でプログラムを作りやすいように調整されているプログラミング言語のこと
です。


image piyo

詳しく書くよ

最初に留意事項です。
オブジェクト指向プログラミング言語」と言われて「あぁ、アレのことね」と分かる方は最後まで読む必要ありません。
オブジェクト指向プログラミング言語の英語表現が「Object-Oriented Programming Language」です。

Object-Oriented Programming Language(オブジェクト・オリエンテッド・プログラミング・ランゲージ)

オブジェクト指向プログラミング言語を「OOPL」と表現することがあります。
この「OOPL」が「Object-Oriented Programming Language」の省略表現なのです。

Object-Oriented Programming Language(オブジェクト・オリエンテッド・プログラミング・ランゲージ)2

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

以上が「オブジェクト指向プログラミング言語」の意味を知っている人向けの説明です。

「オブジェクト指向プログラミング言語って何?美味しいの?」な人は、このまま読み進めてください。
用語の中身について説明します。

ちょっと休憩3

それでは、いってみましょう。
まずは予備知識として

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


について結構ガッツリ説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。

プログラミング言語は「プログラムの元ネタソースコードを書くときに使う言葉」です。

一般的なプログラムというのは、まず人間語で元ネタを書き、それをコンピュータさんが分かる言葉に翻訳することで完成します。

Object-Oriented Programming Language(オブジェクト・オリエンテッド・プログラミング・ランゲージ)3

この「元ネタ」を書くときに使う言語がプログラミング言語です。

Object-Oriented Programming Language(オブジェクト・オリエンテッド・プログラミング・ランゲージ)4

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

Object-Oriented Programming Language(オブジェクト・オリエンテッド・プログラミング・ランゲージ)5

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

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

1.自分
2.敵
3.弾


です。

Object-Oriented Programming Language(オブジェクト・オリエンテッド・プログラミング・ランゲージ)6

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

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


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

Object-Oriented Programming Language(オブジェクト・オリエンテッド・プログラミング・ランゲージ)7

あとは、用意した

1.自分
2.敵
3.弾


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

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


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

Object-Oriented Programming Language(オブジェクト・オリエンテッド・プログラミング・ランゲージ)8

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

Object-Oriented Programming Language(オブジェクト・オリエンテッド・プログラミング・ランゲージ)9

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

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

Object-Oriented Programming Language(オブジェクト・オリエンテッド・プログラミング・ランゲージ)10

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

Object-Oriented Programming Language(オブジェクト・オリエンテッド・プログラミング・ランゲージ)11

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

Object-Oriented Programming Language(オブジェクト・オリエンテッド・プログラミング・ランゲージ)12

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

Object-Oriented Programming Language(オブジェクト・オリエンテッド・プログラミング・ランゲージ)13

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

Object-Oriented Programming Language(オブジェクト・オリエンテッド・プログラミング・ランゲージ)14

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

Object-Oriented Programming Language(オブジェクト・オリエンテッド・プログラミング・ランゲージ)15

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

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

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

オブジェクト指向プログラミングは「オブジェクト指向の考え方に沿った構造のプログラムを作ること」です。

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

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


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

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.その用意した「モノ」の組み合わせで処理を実現する


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

以上を踏まえて

オブジェクト指向プログラミングがしやすいように調整されたプログラミング言語

が「Object-Oriented Programming Language」です。
上でも書きましたが「オブジェクト指向プログラミング言語」の英語表現です。
※本ページでも以降は「オブジェクト指向プログラミング言語」と表現します。

昔のプログラミング言語で作ったプログラムは基本的に上から下に向かって順番に処理するだけでした。
1行目の処理をやって、2行目の処理をやって、3行目の処理をやって、みたいな形です。

でも、それだと「自分」「敵」「弾」を用意して「敵」の「弾」が「自分」に当たったら~みたいなことがやりにくいですよね。
上から下に処理が流れていくだけなのですから。

そこで、オブジェクト指向の考え方に沿った作り方をしやすいプログラミング言語が作られました。
オブジェクトを用意して、そのオブジェクトを組み合わせて処理を作るようなプログラミング言語です。
そんな

「オブジェクト指向な考え方の処理を作りやすくしたよ」なプログラミング言語

がオブジェクト指向プログラミング言語です。

例えばJavaなんかがオブジェクト指向プログラミング言語の有名どころですよ。


image piyo2

一言でまとめるよ

まぁ「Object-Oriented Programming Language」って単語が出てきたら「オブジェクト指向プログラミング言語(オブジェクト指向でプログラミングしやすいように作られているプログラミング言語)のことなんだな~」と お考えください。

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

おまけ

■訳してみるよ

「object(オブジェクト)」の意味は「物」とか「物体」とか「対象」とかです。
「oriented(オリエンテッド)」の意味は「指向」とか「志向」とかです。
「programming(プログラミング)」は「program(プログラム)」+「ing」です。
「program(プログラム)」の意味は「計画」とか「演目」とか「(コンピュータの)プログラム」とかです。
「language(ランゲージ)」の意味は「言語」とか「言葉」とかです。
何となく くっつけると

物体指向でプログラムを作るときに使う言語

となります。




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