C#を学んでいると、メソッドや変数の前に「static」というキーワードを見かけることがあります。
最初はおまじないのように付けていたかもしれませんが、実はこの「static」には大きな意味があります。
■ staticとは「静的」を意味するキーワード
static(スタティック)は、日本語で「静的」という意味です。
静的とは、動的に変化しない・プログラム全体で固定されているということ。
つまり、あるクラスの中で「static」を付けると、そのメソッドや変数はクラスそのものに属するようになります。
通常、クラスを使うときは「インスタンス(実体)」を作って使いますが、staticを付けたものはインスタンスを作らなくても利用できます。
たとえば、全体で共有する情報や共通して呼び出したい処理などに使われます。
■ 静的と動的の違い
プログラムの世界で「静的」と「動的」はよく対比されます。
動的(dynamic) … 実行中に変化するもの
静的(static) … 実行前に決まっていて変わらないもの
staticを付けると、その要素は「プログラムの実行中に自由に増えたり変わったりしない」性質を持ちます。
つまり、全体で1つだけ存在する特別なものになるのです。
■ なぜstaticを使うのか
プログラムの中には、オブジェクトごとに違う情報ではなく、「共通の情報」や「誰からでも呼び出せる処理」が必要になることがあります。
そんなときに使うのがstaticです。
たとえば、アプリ全体で共通の設定を管理したり、便利な関数をまとめたりする場合にstaticを使うと、どこからでも簡単にアクセスできます。
■ まとめ
C#のstaticとは、
「クラスに属し、すべてのオブジェクトで共有される静的なメンバーを作るための仕組み」
ということです。
staticを理解すると、クラスやインスタンスの仕組みがより深くわかり、コードの設計力もぐっと上がります。
最初は地味なキーワードに見えますが、C#を使いこなす上で欠かせない大切な概念です。