インスタンス不要で使える「static(静的)」とは?
C#における static(静的) は、インスタンスを作成せずに使えるクラスメンバー(変数・メソッドなど)を定義するためのキーワードです。
クラスそのものに属し、すべてのインスタンスで共有されるのが特徴です。
staticの使いどころ
- 共通の情報や処理をクラス単位で管理したいとき
- ユーティリティ関数など、インスタンスに依存しない処理
- メンバー間で状態を共有したいとき
staticメンバーの基本構文
public class MyClass {
public static int Count = 0;
public static void ShowMessage() {
Console.WriteLine("Hello from static method!");
}
}
呼び出し方(インスタンス不要)
Console.WriteLine(MyClass.Count); // → 0
MyClass.ShowMessage(); // → Hello from static method!
staticメンバーの特徴
- インスタンスではなくクラスに属する
- インスタンスを作らなくてもアクセスできる
- クラス全体で1つだけ存在する
staticクラス(すべてstaticなメンバーのみを持つクラス)
public static class MathUtil {
public static int Double(int x) {
return x * 2;
}
}
int result = MathUtil.Double(5); // → 10
インスタンスとの違い
項目 |
インスタンスメンバー |
staticメンバー |
所属 |
インスタンスごと |
クラス全体 |
アクセス方法 |
インスタンス名.メンバー |
クラス名.メンバー |
生成の必要 |
必要 |
不要 |
注意点
- staticメソッドからは、非staticメンバーを直接使えない
- インスタンスの状態に依存する処理には不向き
まとめ
static(静的)は、クラス単位で共通のメソッドやデータを定義したいときに使うキーワードです。
インスタンス不要で利用でき、ユーティリティ関数や共通カウンターなどに最適です。
static
を理解して使い分けることで、効率的でわかりやすいコードが書けるようになります!