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メソッドはインスタンス化不要- オーバーロードで同名メソッドを複数定義可能
- アクセス修飾子で利用範囲を制御できる