【Aモデル録 フェーズ1 C#基礎】
👉 オブジェクトとは、「class(枠)から作られた“実体”です。
触れるもの・使われるもの・動くもの。
プログラムの中で、本当に存在しているもの。
なので、
newする(実体を生成する)ときの名前も、
👉 「オブジェクト生成」
ともいいます。
これは、何度も使える基本対応です。
class Dog
{
}
これは、
👉 まだ何も存在していない
え? 犬?? ・・・楽しんでください(笑)
Dog d = new Dog();
この瞬間、
👉 これが オブジェクト。
犬、バカにできません。
Dog dog = new Dog();
dog.Bark(); //Barkは、「吠える」の意
これ、
という 直感モデル です。
Dog.Bark(); // ← できない
👉 「犬がいないのに吠えろ?」
という違和感が生まれる。
この違和感こそが、
static の入口です。
Dog a = new Dog();
Dog b = new Dog();
👉 「同じクラス = 同じもの」ではない。
ここで、参照の概念とつながります。
Dog d = new Dog();
このとき、
オブジェクトは、
メモリのどこかに存在している。
using (SomeClass x = new SomeClass())
{
}
ここでしていることは、
👉 using は
「オブジェクトをどう扱うか」 の話。
そもそも、考えるべき方向が逆で。
これらはすべて、
オブジェクトが存在して初めて成立する
こういった、
「プログラム上の 役割 を強調した」場面
で、「オブジェクト」という呼び名になります。
ここまで理解すると、
必ずこう思います。
「じゃあ、プログラム開始時って
オブジェクト、1つも無いよね?」
はい。
無い。
👉 だから次の話が必要になる。
「オブジェクトが1つも無い状態で、
最初に呼ばれるものは何?」
これが、
の話につながります。