【今は怖くなくていい】static(スタティック)をやさしく理解する
C#を学んでいると、
こんなキーワードが出てきます。
static
「え、急に難しそう…」
大丈夫です。
今日は 今の段階で必要な分だけ 理解しましょう。
1. まず確認:これまでやってきた形
みなさんは、こんなクラスを書いてきましたね。
class Player
{
public string Name;
public int Hp;
public void ShowStatus()
{
Console.WriteLine(Name);
Console.WriteLine(Hp);
}
}
そして、
Player p1 = new Player();
p1.Name = "勇者";
p1.Hp = 100;
p1.ShowStatus();
ここで大事なのは:
- new している
- p1 という「実体」を作っている
これを インスタンス と呼びます。
2. staticとは何か?
一言で言うと:
インスタンスを作らなくても使えるもの
です。
例を見てみましょう
Console.WriteLine("こんにちは");
あれ?
Console を new していませんよね?
new Console(); // ← こんなことしていない
それでも使えています。
なぜか?
Console の中の WriteLine は
staticメソッド だからです。
3. インスタンスメソッドとの違い
■ インスタンスメソッド
Player p1 = new Player();
p1.ShowStatus();
- 実体が必要
- その人専用の動き
■ staticメソッド
Console.WriteLine("Hello");
- 実体が不要
- 全体共通の機能
4. 例えで理解する
■ インスタンスメソッド
「勇者のHPを表示する」
→ その勇者がいないと表示できない
■ staticメソッド
「消費税を計算する」
static int CalcTax(int price)
{
return price * 10 / 100;
}
→ 誰のものでもない
→ ただの計算機能
5. いま覚えるべきこと
今の段階では、これだけで十分です。
| 種類 | 使い方 | 実体は必要? |
|---|---|---|
| 通常メソッド | p1.Show() | 必要 |
| staticメソッド | Class名.メソッド() | 不要 |
6. なぜ今は深くやらないのか?
この講座は
- C#基礎
- C#応用
- Unity
- チーム制作
へと進んでいきます 。
staticの本質的理解は
クラスとインスタンスが完全に腹落ちしてから の方が効果的です。
今は、
「newしなくても使えるものがある」
これだけ分かれば十分です。
7. よくある誤解
「全部staticにすればよくないですか?」
ダメです。
なぜなら:
- 個別の状態(HPなど)が持てなくなる
- オブジェクト指向の意味がなくなる
staticは便利ですが、
使いどころがあります。
8. 今日のゴール
✔ インスタンスは「実体」
✔ staticは「共通機能」
✔ Consoleはstaticの代表例
これでOKです。
最後に
プログラミングは、
- まず動かす
- 後から理解が深まる
という順番で成長します。
今は「なんとなく分かる」で十分。
本当に理解が深まるのは
制作演習に入ってからです。
焦らなくて大丈夫です。






ディスカッション
コメント一覧
まだ、コメントがありません