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

Object-Oriented Design

pointこの用語のポイント

pointオブジェクト指向な観点で設計するよ

point私も よく分かってないよ

point日本では「オブジェクト指向設計」や「OOD」と表現されるのが一般的だよ

スポンサーリンク

簡単に書くよ

Object-Oriented Design(読:オブジェクト・オリエンテッド・デザイン)とは

いわゆる「オブジェクト指向設計(OOD)」のこと。
用語の中身としては

システム開発におけるやり方のひとつ
であり

「モノ」に注目して(オブジェクト指向(「モノ」に注目した考え方)な観点で)設計すること
です。


image piyo

詳しく書くよ

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

Object-Oriented Design(オブジェクト・オリエンテッド・デザイン)

オブジェクト指向設計を「OOD」と表現することがあります。
この「OOD」が「Object-Oriented Design」の省略表現なのです。

Object-Oriented Design(オブジェクト・オリエンテッド・デザイン)2

※「Object-Oriented Design」を何となく日本語にすると「オブジェクト指向設計」となります。[詳細]

以上が「オブジェクト指向設計(OOD)」の意味を知っている人向けの説明です。

「オブジェクト指向設計(OOD)って何?美味しいの?」な人は、このまま読み進めてください。
用語の中身について説明します。

ちょっと休憩5

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

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

Object-Oriented Design(オブジェクト・オリエンテッド・デザイン)3

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

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

1.自分
2.敵
3.弾


です。

Object-Oriented Design(オブジェクト・オリエンテッド・デザイン)4

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

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


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

Object-Oriented Design(オブジェクト・オリエンテッド・デザイン)5

あとは、用意した

1.自分
2.敵
3.弾


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

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


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

Object-Oriented Design(オブジェクト・オリエンテッド・デザイン)6

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

Object-Oriented Design(オブジェクト・オリエンテッド・デザイン)7

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

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

Object-Oriented Design(オブジェクト・オリエンテッド・デザイン)8

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

Object-Oriented Design(オブジェクト・オリエンテッド・デザイン)9

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

Object-Oriented Design(オブジェクト・オリエンテッド・デザイン)10

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

Object-Oriented Design(オブジェクト・オリエンテッド・デザイン)11

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

Object-Oriented Design(オブジェクト・オリエンテッド・デザイン)12

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

Object-Oriented Design(オブジェクト・オリエンテッド・デザイン)13

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

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

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

以上を踏まえて

オブジェクト指向な観点でシステムを設計する

のが「Object-Oriented Design」です……多分。
上でも書きましたが、一般的には「オブジェクト指向設計」や「OOD」と表現されます。

Object-Oriented Design(オブジェクト・オリエンテッド・デザイン)14

某・資格試験の過去問に「OOAObject-Oriented Analysis」という用語が出てきたので、ついでに取り上げてみましたが、ぶっちゃけ、私もよく分かっていません。

大雑把に言えば「よーし!オブジェクト指向なプログラミングでシステムを作るぞ~。それに先だって、あれやこれやを設計するぞ~。いいか~。設計はオブジェクト指向でプログラミングする前提でやれよ~!オブジェクト指向でプログラミングしやすい形で、あれやこれやの設計をやるんだぞ~」な設計のやり方でしょうけどね。

具体的なことは他のところで勉強してください。


image piyo2

一言でまとめるよ

まぁ「Object-Oriented Design」って単語が出てきたら「オブジェクト指向設計(オブジェクト指向な観点でやる設計)のことなんだな~」と お考えください。

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

おまけ

■訳してみるよ

「object(オブジェクト)」の意味は「物」とか「物体」とか「対象」とかです。
「oriented(オリエンテッド)」の意味は「指向」とか「志向」とかです。
「design(デザイン)」の意味は「設計」とか「デザイン」とかです。
何となく くっつけると

物体指向設計

となります。




書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本【Audible】
エンジニアのための生成AI入門 はじめての生成AIアプリ開発からエージェント開発まで
タヌキとキツネ