〖C#入門〗Addメソッドの基本|引数・戻り値・呼び出しを理解しよう

広告

今回は、2つの整数を足し算するAddメソッドを作ります。

まずはstaticやオーバーロードなどの発展的な機能を使わず、次の3つに集中しましょう。

  • メソッドに値を渡す「引数」
  • 計算結果を返す「戻り値」
  • 作ったメソッドを動かす「呼び出し」

最初に完成形を覚える必要はありません。コードを少しずつ作りながら、値がどのように動くのかを確認していきます。


① 今回作るAddメソッド

Addは、英語で「加える」という意味です。

今回作るメソッドには、次の仕事をしてもらいます。

2つの整数を受け取り、足し算した結果を返す

まずはメソッドだけを見てみましょう。

public int Add(int a, int b)
{
    return a + b;
}

短いコードですが、「受け取る」「計算する」「返す」という3つの動きが入っています。


② Addメソッドをクラスに書く

メソッドはクラスの中に書きます。

今回は、計算に関する処理をまとめるCalcクラスを作り、その中にAddメソッドを書きます。

class Calc
{
    public int Add(int a, int b)
    {
        return a + b;
    }
}

クラスは、データや処理をまとめた設計図です。

今回のCalcクラスにはデータを持たせず、足し算の処理だけを入れています。


③ int aとint bは受け取り口

次の部分に注目してください。

Add(int a, int b)

abは、メソッドが値を受け取るための変数です。この受け取り口をパラメーターと呼びます。

  • int a:1つ目の整数を受け取る
  • int b:2つ目の整数を受け取る

たとえば53を渡すと、aには5bには3が入ります。

初学者向けの説明では、パラメーターも含めて「引数」と呼ぶことがあります。厳密には、メソッドを作る側のabがパラメーター、呼び出す側から渡す53が引数です。


④ returnで計算結果を返す

次に、メソッドの中を見てみましょう。

return a + b;

a + bで足し算を行い、returnでその結果を呼び出し元へ返しています。

メソッド名の前にあるintは、このメソッドがint型の値を返すことを表します。

public int Add(int a, int b)
       ^^^

この返される値を戻り値と呼びます。


⑤ Addメソッドを呼び出す

Calcクラスを書いただけでは、Addメソッドは動きません。

まずnewを使って、Calcクラスからオブジェクトを作ります。

Calc calc = new Calc();

次に、そのcalcからAddメソッドを呼び出します。

int result = calc.Add(5, 3);

処理の流れは次のとおりです。

5と3をAddに渡す
↓
aに5、bに3が入る
↓
a + bを計算する
↓
returnで8を返す
↓
resultに8が入る

⑥ 結果を表示する

受け取った戻り値は、Console.WriteLineで表示できます。

Console.WriteLine(result);

実行結果は次のようになります。

8

次のように、戻り値を変数に入れず、そのまま表示することもできます。

Console.WriteLine(calc.Add(5, 3));

最初のうちは、値の流れが見やすいように、いったんresultへ入れる書き方がおすすめです。


⑦ 完成したコード

using System;

class Program
{
    static void Main()
    {
        Calc calc = new Calc();

        int result = calc.Add(5, 3);
        Console.WriteLine(result);
    }
}

class Calc
{
    public int Add(int a, int b)
    {
        return a + b;
    }
}

Mainに付いているstaticは、プログラムの開始場所を表すために必要です。今回は深追いしません。

次の記事では、Addにもstaticを付けると、呼び出し方がどう変わるのかを見ていきます。


⑧ よくある間違い

引数の数が足りない

calc.Add(5); // エラー

今のAddは2つの値を受け取るため、引数も2つ必要です。

calc.Add(5, 3); // OK

returnを書き忘れる

public int Add(int a, int b)
{
    a + b; // エラー
}

戻り値の型にintを書いたメソッドは、int型の値をreturnで返す必要があります。


⑨ 練習問題

Add(10, 4)を呼び出し、結果を表示してみましょう。

② 2つの整数を引き算するSubメソッドを作ってみましょう。

Addの戻り値をanswerという変数に入れて表示してみましょう。


⑩ まとめ

今回のポイントを振り返りましょう。

  • メソッドは、呼び出して初めて動く
  • abは、値を受け取るパラメーター
  • 呼び出すときの53は引数
  • returnは、計算結果を呼び出し元へ返す
  • 戻ってきた値は、変数に入れたり、そのまま表示したりできる

まずは「値を渡す → 計算する → 結果が戻る」という流れをつかめれば十分です。

次回は、staticを付けたメソッドと、newを使わない呼び出し方を学びます。

次の記事:staticメソッドとは?newなしで呼び出せる理由

訪問数 6 回, 今日の訪問数 6回

広告