クラスとインスタンスの関係
まずは簡単にイメージから
- クラス:設計図
- インスタンス:設計図から作られた実際の“モノ”
たとえば、「人間」というクラスがあったら、
「山田さん」や「田中さん」はそのクラスから作られたインスタンスです。
public class Person
{
public string Name { get; set; }
public void SayHello()
{
Console.WriteLine($"こんにちは、{Name}です!");
}
}
この Person クラスはまだ設計図の段階です。
このままでは動きません。
インスタンスを作る(生成する)
クラスから実際の“オブジェクト”を作るには、
new キーワード を使います
Person p1 = new Person();
p1.Name = "山田";
p1.SayHello(); // こんにちは、山田です!
ここで p1 が「インスタンス」です。
つまり、「Personクラスの実体」となります。
複数のインスタンスを作る
同じクラスから、いくつでもインスタンスを作れます。
Person p1 = new Person();
p1.Name = "山田";
Person p2 = new Person();
p2.Name = "田中";
p1.SayHello(); // こんにちは、山田です!
p2.SayHello(); // こんにちは、田中です!
同じ設計図(Personクラス)でも、
それぞれが独立した“実体”を持っていることが分かります。
インスタンスを使う理由
クラスはあくまで設計図なので、
実際に動くためには“現物”が必要です。
インスタンスを作ることで
- プロパティ(データ)を持てる
- メソッド(処理)を実行できる
- 同じクラスでも独立して動作できる
というメリットがあります。
まとめ
用語 | 意味 |
---|---|
クラス | 設計図(どんなデータ・機能を持つか) |
インスタンス | 設計図から作った実際のモノ |
new | クラスからインスタンスを作るキーワード |
クラスだけでは動かない。
“動くもの”を作るには、インスタンスが必要!