クラスから生まれる実体「オブジェクト(Object)」とは?
C#などのオブジェクト指向プログラミングにおいて、オブジェクトはとても重要な考え方です。
クラスが「設計図」なら、オブジェクトはその設計図から作られる実体を意味します。
オブジェクトとは?
オブジェクトとは、クラスから作られた実体(インスタンス)のことです。
現実世界の「モノ」をプログラムで扱えるようにする、基本的な単位です。
クラスとオブジェクトの関係
- クラス:設計図
- オブジェクト:その設計図から作ったモノ
オブジェクトの作り方(インスタンス化)
Person p = new Person("太郎", 25);
p.Greet();
例:Personクラス
public class Person {
public string Name;
public int Age;
public Person(string name, int age) {
Name = name;
Age = age;
}
public void Greet() {
Console.WriteLine("こんにちは、私は " + Name + " です。");
}
}
オブジェクトの特徴
- データ(プロパティ、フィールド)と
- 動作(メソッド)をまとめて持てる
- 複数のオブジェクトを同じクラスから何度でも生成できる
- オブジェクトごとに状態を持つ(例:p1.Name ≠ p2.Name)
Objectクラス(System.Object)
C#におけるすべてのクラスは、Objectクラス(System.Object
)を暗黙的に継承しています。
つまり、すべての型はオブジェクトとして扱えるということです。
よく使うObjectクラスのメソッド
ToString()
:オブジェクトの文字列表現を返す
Equals()
:等価性の比較
GetHashCode()
:ハッシュコードの取得
まとめ
オブジェクト(Object)は、クラスという設計図からnewキーワードを使って作成されるプログラム上の実体です。
状態(プロパティ)と動作(メソッド)を持ち、現実世界のモノや概念を表現できます。
C#ではすべてがオブジェクトであるという前提のもと、柔軟なプログラミングが実現されています!