C#のpublic・static・voidキーワードの違いをわかりやすく解説
C#プログラムを学び始めると、必ず目にするのが public、static、void といったキーワードです。これらはすべて、C#プログラムの中心的な存在である「Mainメソッド」に関わるキーワードです。
Mainメソッドとは?
Mainメソッドは、すべてのC#プログラムにおけるエントリーポイント(開始地点)です。プログラムが実行されるとき、最初に呼び出されるのがこのMainメソッドであり、クラスが実行された際に何を行うかがここで定義されます。
以下は、基本的なC#プログラムの例です。
using System;
class Demo {
static void Main(string[] args) {
Console.WriteLine("C#で書いた初めてのプログラム!");
}
}
各キーワードの役割と違い
- public(パブリック):アクセス修飾子の一つで、このメソッドが外部からも公開され、どこからでもアクセス可能であることを示します。これにより、.NETランタイムがプログラム開始時にMainメソッドを呼び出せるようになります。
- static(スタティック):静的メンバーであることを意味し、クラスのインスタンス(オブジェクト)を生成しなくても直接アクセスできることを示します。Mainメソッドはプログラム起動時にオブジェクトがまだ存在しないため、staticである必要があります。
- void(ボイド):このメソッドが戻り値(返り値)を一切返さないことを表します。処理を実行するだけで、呼び出し元に値を返す必要がない場合に使用します。
- Main(メイン):前述のとおり、C#プログラムのエントリーポイントとなるメソッド名です。プログラム実行時に最初に実行されるのがこのメソッドです。
まとめ
つまり、public static void Main(string[] args) という定義は、「どこからでもアクセスでき(public)、オブジェクトなしで実行でき(static)、値を返さず(void)、プログラムの開始点となる(Main)」という意味を持っています。これらのキーワードの役割を理解することは、C#のプログラム構造を把握するうえで非常に重要です。
-
C#におけるメソッドのオーバーライドとメソッドの隠ぺい(シャドウイング)の違いとは?
オーバーライド(Overriding) オーバーライドとは、継承関係にある親クラスのメソッドを、子クラス側で上書きして再定義する仕組みです。これにより、サブクラスはその型に固有の振る舞いを定義でき、親クラスのメソッドを自分の要件に合わせて実装し直すことができます。 C#でオーバーライドを行うには、親クラス側のメソッドに virtual または abstract キーワードが必要で、子クラス側では override キーワードを付けてメソッドを再定義します。 以下は、抽象クラスを使ってオーバーライドを実装した例です。 コード例 using System; namespace Polymorp
-
Pythonのセット演算入門|演算子とメソッドの違いを徹底解説
Pythonのセット(set)は、重複しない要素を管理するための組み込みデータ型です。和集合・積集合・差集合・対称差といった集合演算は、対応するメソッドを呼び出す方法と演算子を使う方法の2通りで実行できます。この記事では、それぞれの具体的な書き方と、両者の違いについて解説します。 和集合(Union) union() メソッドを使う場合 >>> s1 = {1, 2, 3, 4, 5} >>> s2 = {4, 5, 6, 7, 8} >>> s1.union(s2) {1, 2, 3, 4, 5, 6, 7, 8} >>&