メソッドとは?
メソッドは、特定のタスクを実行するコードのブロックです。関数とも呼ばれることがありますが、C#では「メソッド」という用語が一般的です。メソッドを使用することで、コードを再利用しやすく、読みやすく、保守しやすくすることができます。
メソッドの定義方法
C#でメソッドを定義するには、次の構文を使用します。
[アクセス修飾子] [戻り値の型] メソッド名([パラメータリスト])
{
// メソッドの本体
}
-
アクセス修飾子: メソッドがどこからアクセス可能かを定義します(例:
public
,private
)。 -
戻り値の型: メソッドが呼び出し元に返すデータの型です。何も返さない場合は
void
を使用します。 - メソッド名: メソッドを識別するための名前です。
- パラメータリスト: メソッドに渡すことができる変数のリストです。パラメータがない場合は空にします。
メソッドの例
public int Add(int number1, int number2)
{
return number1 + number2;
}
この例では、Add
という名前のメソッドを定義しています。このメソッドは2つの整数を受け取り、それらを加算した結果を返します。
メソッドの呼び出し方
メソッドを定義したら、それを「呼び出す」ことで使用できます。メソッドを呼び出すには、メソッド名と必要なパラメータを指定します。
int result = Add(5, 3);
Console.WriteLine(result); // 出力: 8
このコードは、先ほど定義したAdd
メソッドを呼び出し、5と3を加算しています。結果はresult
変数に格納され、コンソールに出力されます。
メソッドのオーバーロード
C#では、同じ名前のメソッドを異なるパラメータで複数定義することができます。これを「オーバーロード」と呼びます。
public int Add(int number1, int number2)
{
return number1 + number2;
}
public double Add(double number1, double number2)
{
return number1 + number2;
}
この例では、整数と浮動小数点数の両方で加算を行うAdd
メソッドをオーバーロードしています。メソッドを呼び出す際に渡されるパラメータの型に基づいて、C#コンパイラは適切なメソッドを選択します。
メソッドの定義場所
C#では、メソッドはクラスや構造体の中に定義されます。これは、メソッドが特定のクラスや構造体の振る舞いを表すためです。
以下は、Calculator
クラス内にAdd
メソッドを定義する例です。
public class Calculator
{
// フィールドの定義(例)
private int lastResult;
// メソッドの定義
public int Add(int number1, int number2)
{
lastResult = number1 + number2;
return lastResult;
}
// 他のメソッドもここに定義することができます。
}
このCalculator
クラスには、Add
メソッドが定義されており、2つの整数を加算してその結果を返します。また、このメソッドはlastResult
という名前のフィールドに最後の計算結果を保存しています。
メソッドの呼び出し
クラス内にメソッドが定義されている場合、そのメソッドを呼び出すには、まずクラスのインスタンスを作成する必要があります。
Calculator myCalculator = new Calculator();
int sum = myCalculator.Add(10, 5);
Console.WriteLine(sum); // 出力: 15
このコードでは、Calculator
クラスの新しいインスタンスを作成し、Add
メソッドを呼び出しています。メソッドはクラスのインスタンスに属しているため、インスタンスを通じてメソッドにアクセスします。
スタティックメソッド
クラスのインスタンスを作成せずにメソッドを呼び出したい場合は、メソッドをstatic
として定義することができます。スタティックメソッドは、クラス名を通じて直接アクセスできます。
public class Calculator
{
public static int Multiply(int number1, int number2)
{
return number1 * number2;
}
}
int product = Calculator.Multiply(10, 5);
Console.WriteLine(product); // 出力: 50
この例では、Multiply
メソッドはスタティックメソッドとして定義されているため、Calculator
クラスのインスタンスを作成せずに直接呼び出すことができます。
メソッドの利点
メソッドを使用することで、以下のような利点があります。
- 再利用性: 同じコードを何度も書く必要がなくなります。
- 整理: コードを機能ごとに分割することで、読みやすくなります。
- 保守性: 一箇所を修正するだけで、そのメソッドを使用しているすべての場所に修正が適用されます。