基礎から学ぶC#入門 90日コース | 制御構文・メソッド - Day 15:メソッド入門

Web APP 90日で身につけるC#
スポンサーリンク
スポンサーリンク

Day 15 のゴールと全体イメージ

Day 15 では、C# におけるとても重要な概念である メソッド を学びます。 メソッドは、簡単に言うと「処理のかたまりに名前をつけたもの」です。

学ぶことは次のとおりです。

  • メソッドとは
  • メソッド定義
  • メソッドの呼び出し
  • void メソッド
  • 処理の再利用

これらをステップバイステップでかみ砕きながら、 「同じ処理を何度も書かずに、きれいにまとめて使い回す」感覚を身につけていきます。

メソッドとは何か

「処理に名前をつけて、何度でも呼び出せるようにしたもの」

メソッドは、

「ある目的を持った処理のまとまりに、名前をつけておいたもの」

です。

例えば、

  • 「挨拶を表示する処理」
  • 「合計を計算する処理」
  • 「メニューを表示する処理」

などを、それぞれメソッドとして定義しておくと、 必要なときにその名前を呼ぶだけで、同じ処理を何度でも実行できます。

メソッド定義の基本形

いちばんシンプルな形:void メソッド

まずは、戻り値を持たないシンプルなメソッドから見ていきます。

基本形は次のようになります。

戻り値の型 メソッド名()
{
    // 実行したい処理
}
C#

戻り値がない場合は、戻り値の型として void を使います。

void SayHello()
{
    Console.WriteLine("こんにちは、メソッドの世界へようこそ!");
}
C#

この SayHello が「挨拶を表示する処理のかたまり」です。

メソッドを定義して呼び出す流れ

例1:挨拶メソッドを作って呼び出す

メソッドは、クラスの中に定義して使います。 まずは、Main メソッドの外側に、SayHello メソッドを定義してみます。

using System;

class Program
{
    // 挨拶を表示するメソッド
    static void SayHello()
    {
        // この中が「メソッドの処理」です
        Console.WriteLine("こんにちは、メソッド入門 Day 15 です!");
    }

    static void Main(string[] args)
    {
        // ここからプログラムが実行されます

        // SayHello メソッドを呼び出します
        SayHello(); // メソッド名 + () で呼び出します

        Console.ReadLine();
    }
}
C#

ここで押さえておきたいポイント

  • メソッドは「クラスの中」に定義します(ここでは Program クラス)。
  • Main メソッドの外側に、static void SayHello() を定義しています。
  • 呼び出すときは、メソッド名 + 丸括弧 () で呼び出します。
  • SayHello(); と書いた場所で、メソッドの中身の処理が実行されます。

なぜメソッドを使うのか:処理の再利用

同じ処理を何度も書かないための仕組み

メソッドを使う最大の理由は、

「同じ処理を何度も書かずに、まとめて再利用できるようにするため」

です。

例えば、挨拶を 3 回表示したいとします。 メソッドを使わない場合は、次のように書くことになります。

Console.WriteLine("こんにちは!");
Console.WriteLine("こんにちは!");
Console.WriteLine("こんにちは!");
C#

一方、メソッドを使うと、次のように書けます。

SayHello();
SayHello();
SayHello();
C#

メソッドの中身を変えたいときは、SayHello の定義だけを直せば、 呼び出し側はそのままで、すべての挨拶が新しい内容になります。

例2:メニュー表示をメソッドにする

「まとまりのある処理」をひとつのメソッドに

メニューを表示する処理は、よく何度も使われます。 これをメソッドにしておくと、とても見通しがよくなります。

using System;

class Program
{
    // メニューを表示するメソッド
    static void ShowMenu()
    {
        Console.WriteLine("=== メニュー ===");
        Console.WriteLine("1: 挨拶");
        Console.WriteLine("2: 今日の日付を表示");
        Console.WriteLine("0: 終了");
        Console.WriteLine("番号を入力してください:");
    }

    static void Main(string[] args)
    {
        int menu;

        do
        {
            // 毎回メニューを表示したいので、メソッドを呼び出します
            ShowMenu();

            string input = Console.ReadLine();
            menu = int.Parse(input);

            if (menu == 1)
            {
                Console.WriteLine("こんにちは!");
            }
            else if (menu == 2)
            {
                Console.WriteLine($"今日の日付:{DateTime.Now.ToShortDateString()}");
            }
            else if (menu == 0)
            {
                Console.WriteLine("終了します。");
            }
            else
            {
                Console.WriteLine("不正な番号です。0〜2 を入力してください。");
            }

            Console.WriteLine();

        } while (menu != 0);

        Console.ReadLine();
    }
}
C#

ここでのポイント

  • メニュー表示という「ひとまとまりの処理」を ShowMenu メソッドにしています。
  • Main の中では、「メニューを表示したい」ときに ShowMenu(); と書くだけです。
  • メニューの内容を変えたいときは、ShowMenu の中身だけを修正すれば済みます。

void メソッドとは

「値を返さず、処理だけ行うメソッド」

void は、「何も返さない」という意味の型です。

void メソッド = 「処理はするが、呼び出し元に値は返さないメソッド」

というイメージです。

例えば、

  • 画面にメッセージを表示する
  • ログを出力する
  • ファイルに書き込む

など、「何かをするけれど、結果として値を返す必要はない」処理は、 void メソッドとして定義することが多いです。

static void PrintLine()
{
    Console.WriteLine("--------------------");
}
C#

呼び出し側では、次のように使います。

PrintLine(); // 区切り線を表示するだけで、値は返ってきません
C#

メソッドの命名と役割

「名前から何をするか分かる」ようにする

メソッド名はとても重要です。

  • SayHello → 挨拶をする
  • ShowMenu → メニューを表示する
  • PrintLine → 線を表示する

というように、「何をするメソッドなのか」が名前から分かるようにすると、 コードを読む人(未来の自分も含めて)が理解しやすくなります。

また、1 つのメソッドは「1 つの役割」に絞るのが基本です。

  • 挨拶とメニュー表示と計算を全部まとめて 1 メソッドにしてしまうと、 何をしているのか分かりにくくなります。
  • 「挨拶するメソッド」「メニューを表示するメソッド」「計算するメソッド」と分けることで、 再利用もしやすくなります。

練習テンプレート:自分のメソッドを作ってみる

例:区切り線と挨拶をメソッドにする

using System;

class Program
{
    // 区切り線を表示するメソッド
    static void PrintSeparator()
    {
        Console.WriteLine("================================");
    }

    // 挨拶を表示するメソッド
    static void Greet()
    {
        Console.WriteLine("こんにちは!メソッドの練習中です。");
    }

    static void Main(string[] args)
    {
        PrintSeparator(); // 区切り線を表示
        Greet();          // 挨拶を表示
        PrintSeparator(); // もう一度区切り線を表示

        Console.ReadLine();
    }
}
C#

このように、

  • 「よく使う表示」をメソッドにしておく
  • 必要な場所で何度でも呼び出す

という練習をすると、「処理をまとめて再利用する」感覚が自然に身についていきます。

Day 15 のまとめ

Day 15 では、

  • メソッドとは何か
  • メソッド定義の基本形(static void メソッド名()
  • メソッドの呼び出し(メソッド名 + ()
  • void メソッド(値を返さず、処理だけ行うメソッド)
  • 処理の再利用(同じ処理を何度も書かずに、メソッドとしてまとめる)

を学びました。

メソッドは、プログラムを「意味のある部品」に分けていくための、とても重要な仕組みです。 これから先、

  • 引数を受け取るメソッド
  • 値を返すメソッド
  • 複数のメソッドを組み合わせた設計

など、さらに一歩進んだ使い方を学んでいくことになります。

まずは Day 15 の段階で、

  • 自分で void メソッドを定義してみる
  • メソッド名から「何をするか」が分かるように意識して名前をつける
  • 同じ処理を見つけたら「これはメソッドにできないかな?」と考えてみる

といった練習を通して、「処理を部品化して再利用する」というプログラミングの基本的な考え方を、 少しずつ体に馴染ませていってください。

タイトルとURLをコピーしました