C#入門⑮ メソッド ── 処理に名前をつけて、まとめる
前回まで、データのまとまり(配列・List など)をやってきました。
今回からは、こんどは処理をまとめる話です。その第一歩、メソッドです。
メソッドとは、いくつかの処理をひとまとめにして、名前をつけたものです。
なぜ、処理をまとめるのか
プログラムを書いていると、同じような処理を、何度も書くことがあります。
たとえば「あいさつを表示する」処理。
Console.WriteLine("ようこそ");
Console.WriteLine("当店をご利用いただきありがとうございます");
Console.WriteLine("ごゆっくりどうぞ");
このあいさつを、プログラムの3か所で使いたいとします。すると、同じ3行を3回コピーすることに。もし内容を変えたくなったら、3か所すべてを直す必要があります。面倒だし、直し忘れも起きます。
そこで、この処理に名前をつけてまとめます。それがメソッドです。
料理でいうなら、「下ごしらえ」のようなもの。「野菜を洗って、皮をむいて、切る」という一連の作業に「下ごしらえ」と名前をつけておけば、「下ごしらえして」の一言で済みますよね。
書き方を見てみる
さっきのあいさつを、メソッドにまとめます。
void Greet()
{
Console.WriteLine("ようこそ");
Console.WriteLine("当店をご利用いただきありがとうございます");
Console.WriteLine("ごゆっくりどうぞ");
}
これで「Greet(あいさつする)」という名前の処理ができました。形を見てみましょう。
void… このメソッドは「結果を返さない」という印(次回くわしく)Greet… メソッドにつけた名前()… カッコ(中身は次回){ }… この中に、まとめたい処理を書く
呼び出して使う
メソッドは、作っただけでは動きません。名前を呼んで(呼び出して)使います。
Greet(); // あいさつが表示される
Greet(); と書くだけで、まとめた3行が実行されます。
3か所で使いたいなら、3回呼べばいい。
Greet();
// ... 別の処理 ...
Greet();
// ... また別の処理 ...
Greet();
Greet() と書くだけ。3行をコピーする必要はありません。そして、あいさつ内容を変えたくなったら、メソッドの中身を1か所直すだけで、呼んでいる全部に反映されます。
メソッドの、もうひとつの利点
メソッドは、「くり返しを減らす」だけが目的ではありません。プログラムを読みやすくするのも、大きな役割です。
たとえば、長いプログラムがあったとして、
Greet();
ShowMenu();
TakeOrder();
中身が分からなくても、「あいさつして、メニューを見せて、注文を取る」という流れが一目で分かります。処理に名前がついていると、プログラムが「読める文章」のようになるんです。
これは、コードが長くなるほど効いてきます。処理のかたまりに、意味のある名前をつける。これは、良いプログラムを書くうえで、とても大事な考え方です。
つまずきポイント
初心者がつまずくのが、作っただけで、呼び出すのを忘れることです。
void Greet()
{
Console.WriteLine("ようこそ");
}
// Greet() を呼んでいない! → 何も表示されない
メソッドは、「作る」と「呼ぶ」は別です。作っただけでは、中身は実行されません。レシピを書いただけでは料理ができないのと同じで、「下ごしらえして」と実際に呼ばないと動かないのです。
「何も表示されないな?」と思ったら、「呼び出し、書いたかな?」と確認してみてください。
まとめ
メソッドは、処理に名前をつけてまとめたもの。
void Greet() // 作る
{
Console.WriteLine("ようこそ");
}
Greet(); // 呼び出す
- 同じ処理のくり返しを減らせる
- 名前をつけることで、プログラムが読みやすくなる
- 「作る」と「呼ぶ」は別。呼び出しを忘れずに
次回は、メソッドに情報を渡したり、結果を受け取ったりする 引数と戻り値 です。メソッドが、ぐっと便利になります。

