LoginSignup
26
23

More than 5 years have passed since last update.

C#の静的メソッドと静的クラスについて

Posted at

静的メソッドと静的クラス

静的メソッド

クラスをインスタンス化しなくてもお手軽に呼び出せるので、ユーティリティ的なメソッドを書いたりします。
静的クラスではない、通常のクラス内に記述できます。
(同じクラス内には通常のインスタンスメソッドも記述でき、こちらはクラスをインスタンス化してから呼び出します。)

    // staticではない通常のクラス
    public class ClassSample
    {
        public static void Method_A() // 静的メソッド --> インスタンス化せずに呼び出せる
        {
            // 処理を実装
        }

        public void Method_B()  // インスタンスメソッド --> インスタンス化してから呼び出す
        {
            // 処理を実装
        }
    }

静的クラス

クラスのメンバ(フィールドやメソッド)はすべて static にしなければなりません。static キーワードを忘れると下記のように怒られます。
また静的クラスはインスタンス化することが出来ません。

    // staticクラス
    public static class ClassSample
    {
        public static void Method_A() // 静的メソッド --> インスタンス化せずに呼び出せる
        {
            // 処理を実装
        }

        // 「静的クラスでインスタンスのメンバーを宣言することはできません」と怒られます。
        public void Method_B()
        {
            // 処理を実装
        }
    }
26
23
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
26
23