【Aモデル録 フェーズ1 C#基礎】

05-02-2:オブジェクト と インスタンス

― 同じもの?違うもの?問題の正体 ―

オブジェクトとは

👉 オブジェクトとは、「プログラム中に実際に存在している“実体”」です。

・・・え?さっき聞きませんでした?

「それ、"インスタンス"じゃなかったっけ?」

なぜ2つの言葉が存在するのか(重要)

インスタンス

インスタンスは、

「ある class(型)から作られた1つの具体例」

という 所属・関係性 に注目した言葉。

👉 型との関係視点

オブジェクト

オブジェクトは、

「プログラム中に実際に存在している“実体”」

という 存在そのもの に注目した言葉。

👉 モノ視点

ここで結論

C#は、場面によって
言葉を使い分けて話す文化 を持っています。

オブジェクト と インスタンスは、
指している“実体”は同じです。

違うのは、
👉 見ている角度(視点)と言葉の使いどころ。

ここが分からないまま進むと、
無限ループ に入ります(笑)


必死に覚えた「インスタンスの実体」とは?

Something s = new Something();

このとき起きていること:

この
「new によって作られた実体」
これが、「インスタンス」の回で掴んだもの。

👉 これは 正しい
👉 何も間違っていない


では、「オブジェクト」とは何か?

同じその実体を、
別の文脈で呼んだ名前です。

視点の違い

呼び方 何を強調している?
インスタンス クラスから作られた「個体」であること
オブジェクト プログラム上の「モノ」として扱うこと

👉 実体は1つ
👉 呼び名が違う

ちょっと難解だけど、ここは我慢。


この講義で、さらっと「同じ」と言う理由

講義側の本音:

「実体は同じだから、
ここで詰まって欲しくない」

でも、Aモデル受講者は、大抵

「じゃあ、
インスタンスで覚えた“実体”って何!?」

と、なります。

👉 だからこの回が 必要。


Aモデル式・安全な覚え方(推奨)

new で作られた実体
→ 技術的に言うと「インスタンス」
→ プログラム上のモノとして言うと「オブジェクト」

これでOKです。

あまり深く考えてはいけません。

ちょっと混乱するけど、大丈夫。


構成と読み方|タイトル一覧

Top - はじめに|この忘備録と「Aモデル」について