C#でプログラミングを学び始めると、必ずと言っていいほど出てくるのが「メソッド」です。メソッドは処理をひとまとまりにして、繰り返し使えるようにするための重要な仕組みです。しかし、初心者のうちは「どう作ればいいの?」「何が返るの?」と戸惑うこともあるでしょう。この記事では、C#におけるメソッドの基本的な作成方法と使い方を、実例を交えながらわかりやすく解説していきます。これを読めば、C#でのメソッドの理解が深まり、より効率的なコーディングができるようになります。
メソッドとは何か?基本の概念から理解しよう
メソッドとは、ある特定の処理をまとめて定義し、必要なときに呼び出して使う仕組みです。C#に限らず、ほとんどのプログラミング言語で同様の考え方が用いられています。
たとえば、「2つの数を足す」という処理をメソッドとして定義しておけば、何度でも同じ処理を使い回せるのです。
int Add(int a, int b)
{
return a + b;
}
上記のように定義したAdd
メソッドを使えば、何度でも加算処理を行うことができます。これが「再利用性の高いコード」と言われる所以です。
メソッドの基本構文を覚えよう
C#のメソッドは、以下のような構文で記述します。
[アクセス修飾子] 戻り値の型 メソッド名(引数)
{
// 処理内容
return 戻り値;
}
例:
public int Multiply(int x, int y)
{
return x * y;
}
- アクセス修飾子(publicなど):他のクラスからアクセスできるかを制御します。
- 戻り値の型(intなど):メソッドの処理結果として返す値の型です。
- メソッド名:任意の名前を付けますが、意味のある名前にすると可読性が高まります。
- 引数:メソッドに渡す値です。複数指定することもできます。
引数のないメソッドと戻り値のないメソッド
C#のメソッドは、引数がない・戻り値がないという形でも定義可能です。
引数も戻り値もない例:
public void Greet()
{
Console.WriteLine("こんにちは!");
}
このようなメソッドは「副作用(出力)」のために使われることが多く、特に表示系の処理などでよく利用されます。
メソッドを呼び出す方法を理解しよう
メソッドを定義しただけでは使えません。プログラム中で「呼び出す」ことで初めて処理が実行されます。
class Program
{
static void Main(string[] args)
{
int result = Add(5, 3);
Console.WriteLine("合計は " + result);
}
static int Add(int a, int b)
{
return a + b;
}
}
この例では、Add
メソッドをMain
メソッド内から呼び出しています。
staticメソッドとインスタンスメソッドの違い
C#では、メソッドはstatic
で定義するか、インスタンス(オブジェクト)を通じて呼び出すかを選ぶことができます。
staticメソッド:
public static int Square(int x)
{
return x * x;
}
このメソッドは、インスタンスを作らずにそのまま呼び出せます。
int result = MyClass.Square(5);
インスタンスメソッド:
public int Square(int x)
{
return x * x;
}
この場合は、クラスのインスタンスを作ってから呼び出します。
MyClass obj = new MyClass();
int result = obj.Square(5);
メソッドのオーバーロードを活用する
同じ名前のメソッドでも、引数の型や数が異なれば定義を複数持つことができます。これをメソッドのオーバーロードと呼びます。
public int Add(int a, int b)
{
return a + b;
}
public double Add(double a, double b)
{
return a + b;
}
呼び出すときに渡す引数の型に応じて、適切なメソッドが選ばれます。
引数にデフォルト値を設定する
C#では引数にデフォルト値を設定することが可能です。
public void ShowMessage(string message = "こんにちは!")
{
Console.WriteLine(message);
}
このメソッドは、引数を渡さなければ「こんにちは!」が表示され、引数を渡せばその文字列が表示されます。
まとめ:メソッドを使いこなしてコードを整理しよう
C#のメソッドは、処理の再利用性を高め、プログラムを読みやすく、保守しやすくするための強力な道具です。本記事で紹介した内容をおさらいすると以下の通りです。
- メソッドは処理をまとめて再利用するための単位
- 引数・戻り値・アクセス修飾子を理解して正しく定義しよう
- staticとインスタンスメソッドの違いを理解しよう
- オーバーロードやデフォルト引数を活用して柔軟なメソッドを作ろう
メソッドを使いこなすことは、C#でのスキルアップに不可欠です。最初はシンプルな例から始めて、少しずつ応用できるようにしていきましょう。