Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

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

静的メソッド

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

    // 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()
        {
            // 処理を実装
        }
    }
kohzy
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away