アクセス制御は、別のソースファイルやモジュールにあるコードから、コードの一部に対するアクセスを制限します。この機能により、コードの実装の詳細を隠し、そのコードにアクセスして使用できる優先インターフェイスを指定することができます。

型に属するプロパティやメソッド、イニシャライザ、サブスクリプトと同じように、個々の型(クラス、構造体、列挙型)に明確なアクセスレベルを指定することができます。グローバルな定数や変数、関数のような特定のコンテキストにプロトコルを制限することができます。

いくつかのアクセス制御レベルを提供することに加え、典型的なシナリオに対するデフォルトのアクセスレベルを提供することで、アクセス制御レベルを明示的に指定する必要性を Swift は減少させます。実際、ターゲットが 1 つのアプリを記述する場合には、アクセス制御レベルを明示的に指定する必要がありません。

NOTE
プロパティや型、関数などに適用されたアクセス制御があるコードのさまざまなアスペクトを、以降のセクションでは簡潔に「エンティティ」として参照します。

Portions of this page are translations based on work created and shared by Apple and used according to terms described in the Creative Commons Attribution 4.0 International License.