アクセス修飾子はメンバや型などのアクセスを制限することができる機能です。「スコープ」と言ったりもします。
アクセス修飾子一覧を記載します。これ以外にもありますが、主要というか、私が日常的によく使われるものだけをピックアップしています。
アクセス修飾子 |
アクセス可能 |
public |
制限無し |
internal |
同一アセンブリ(VB.NETだとFriendが相当) |
private |
同一コンテナ(クラスや構造体) |
protected |
private+派生クラス |
protected internal |
protected+同一アセンブリ |
簡単に言えば一つのexeだったりdllだったり、開発環境においてのプロジェクトの単体を「アセンブリ」と言います。つまり、例えばinternalで指定されたクラスは、プロジェクト内であれば自由にアクセスできますが、プロジェクトを跨いだアクセスは出来ない、ということです。