クラスメンバーは二種類に分かれます:データメンバーと関数メンバー
ここまで学習してきたint、long、shortといった型は単純型と呼ばれ、.NETに標準搭載されている型です。マイクロソフトの開発者が事前に実装し、.NETフレームワークに組み込んであります。Visual Studio 2022をインストールする際に同時に.NETも導入され、これら標準の単純型が利用可能になります。これらの型は一つのデータしか保持できません。
後の講義では複数のデータを保持できる型を学びます。配列がその代表例で、同じ型のデータを複数格納する仕組みで、例えば複数のint値をまとめて保管できます。配列内の一つ一つの値を要素と呼び、インデックス番号から要素にアクセスします。配列の詳しい使い方は後ほど解説します。
複数の異なる型のデータをまとめて保存できる複合型も存在し、各データ項目をメンバーと呼びます。メンバーにアクセスするには定義したメンバー名を使用します。
メンバーは大きく二つに分類されます:データメンバー、関数メンバー。
データメンバー:クラスのインスタンスオブジェクト、またはクラス全体に紐付くデータを保存する役割
関数メンバー:コードロジックを実行し、その型が持つ振る舞いを定義する役割
下記のPersonクラスには二つのデータメンバーが定義されています
class Person
{
private string name;
private int age;
public void SayHi()
{
}
public void SetMyName(string name)
{
this.name = name;
}
}Code language: PHP (php)
データメンバー(フィールド / プロパティ):状態を保持する要素。例としてユーザークラス内の名前や年齢が該当します
関数メンバー(メソッド):振る舞いを定義する要素。ユーザー名の更新や挨拶出力といった処理を記述します
配列は数値インデックスでアクセスし、クラスメンバーは独自に定義した名前でアクセスします
class Program
{
static void Main(string[] args)
{
// This is a int array
int[] array = new int[5] { 1,2,3,4,5 };
Console.WriteLine(array[0]); // 1
Person person = new Person();
person.SetMyName("John");
person.SetMyAge(30);
person.SayHi(); // Hi, my name is John and I am 30 years old.
}
}
class Person
{
private string name;
private int age;
public void SayHi()
{
Console.WriteLine($"Hi, my name is {name} and I am {age} years old.");
}
public void SetMyName(string name)
{
this.name = name;
}
public void SetMyAge(int age)
{
this.age = age;
}
}Code language: PHP (php)
上記サンプルでは整数型配列を作成し、五つの要素に1、2、3、4、5を初期代入しています。先頭の要素を取得するにはインデックス0を指定する必要があり、配列のインデックスは0から始まる点に注意してください。
一方クラスメンバーは「オブジェクト名.」という記法で定義した名前からアクセスし、例ではperson.と記述します。

Class Person { } はクラスの定義文に過ぎず、内部のコードは外部から呼び出されない限り実行されません。呼び出しがなければ単なる設計図・テンプレートとして存在するだけで、一切動作しません。
プログラムのエントリーポイントとなるMain関数は静的関数で(後ほど解説)、インスタンス生成なしで利用できクラス自身に属します。ユーザーがexeファイルをダブルクリックしてプログラムを起動すると、OSが自動的にMain関数を呼び出します。
クラスメンバー