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

07-03:オブジェクトを、もうちょっと知る

オブジェクトを再確認

👉 オブジェクトとは、「class(枠)から作られた“実体”です。

触れるもの・使われるもの・動くもの。
プログラムの中で、本当に存在しているもの。

「呼び方」が違う、インスタンスと同じもの。

なので、

newする(実体を生成する)ときの名前も、

👉 「オブジェクト生成」

ともいいます。


class と オブジェクトの関係 を再確認

これは、何度も使える基本対応です。

class Dog
{
}

これは、
👉 まだ何も存在していない

え? 犬?? ・・・楽しんでください(笑)

Dog d = new Dog();

この瞬間、

👉 これが オブジェクト。


なんで、「犬」?

犬、バカにできません。

Dog dog = new Dog();
dog.Bark();	//Barkは、「吠える」の意

これ、

という 直感モデル です。

もし、new(オブジェクト生成)してなかったら。

Dog.Bark(); // ← できない

👉 「犬がいないのに吠えろ?」

という違和感が生まれる。

この違和感こそが、
static の入口です。


超重要:オブジェクトは「1つずつ生まれる」 を再確認

Dog a = new Dog();
Dog b = new Dog();

👉 「同じクラス = 同じもの」ではない。


じゃあ、変数は何を持っている? を再確認

ここで、参照の概念とつながります。

Dog d = new Dog();

このとき、

オブジェクトは、
メモリのどこかに存在している。


using ( ) との接続

using (SomeClass x = new SomeClass())
{
}

ここでしていることは、

  1. new で オブジェクトを作る
  2. 参照を x が持つ
  3. 使い終わったら
    後の処理を C# に任せる

👉 using は
「オブジェクトをどう扱うか」 の話。


オブジェクトがないと、何ができない?

そもそも、考えるべき方向が逆で。

これらはすべて、

オブジェクトが存在して初めて成立する

こういった、

「プログラム上の 役割 を強調した」場面

で、「オブジェクト」という呼び名になります。


ここで、次の疑問が自然に出る

ここまで理解すると、
必ずこう思います。

「じゃあ、プログラム開始時って
オブジェクト、1つも無いよね?」

はい。
無い。

👉 だから次の話が必要になる。


次につながる伏線

「オブジェクトが1つも無い状態で、
最初に呼ばれるものは何?」

これが、

の話につながります。


理解まとめ


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

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