クラスとメソッド

C#入門③ クラスとメソッド

クラスとは?

C#はオブジェクト指向プログラミング言語です。
「クラス」はオブジェクトの設計図にあたり、データ(フィールドやプロパティ)処理(メソッド) をひとまとめにしたものです。

public class Person
{
    // フィールド
    private string name;
    private int age;

    // コンストラクタ
    public Person(string name, int age)
    {
        this.name = name;
        this.age = age;
    }

    // メソッド
    public void Introduce()
    {
        Console.WriteLine($"私は{name}、{age}歳です。");
    }
}

オブジェクトの生成

クラスを基にオブジェクト(インスタンス)を作成し、メソッドを利用します。

class Program
{
    static void Main()
    {
        Person p1 = new Person("Taro", 25);
        p1.Introduce();
    }
}

出力:

私はTaro、25歳です。

メソッドとは?

メソッドはクラス内に定義される「処理のまとまり」です。
入力(引数)を受け取り、出力(戻り値)を返すことができます。

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

    public void ShowResult(int result)
    {
        Console.WriteLine("計算結果: " + result);
    }
}

静的メソッド(static)

インスタンスを生成せずに呼び出せるメソッドも定義できます。

public class MathUtil
{
    public static int Square(int x)
    {
        return x * x;
    }
}

class Program
{
    static void Main()
    {
        int result = MathUtil.Square(5);
        Console.WriteLine(result); // 25
    }
}

メソッドのオーバーロード

同じ名前で異なる引数を持つメソッドを複数定義できます。

public class Printer
{
    public void Print(string msg)
    {
        Console.WriteLine(msg);
    }

    public void Print(int number)
    {
        Console.WriteLine("数値: " + number);
    }
}

アクセス修飾子

クラスやメソッドには「アクセス修飾子」を付けて利用範囲を制御します。

  • public : どこからでもアクセス可能
  • private : クラス内でのみ有効
  • protected : 継承したクラスからもアクセス可能
  • internal : 同一アセンブリ内でアクセス可能

まとめ

  • クラスはオブジェクトの設計図で、データと処理をまとめる
  • メソッドは処理を定義し、引数や戻り値を扱える
  • static メソッドはインスタンス化不要
  • オーバーロードで同名メソッドを複数定義可能
  • アクセス修飾子で利用範囲を制御できる