Custom Types

Swiftの型(Type)に定義したアクセス修飾子(Access Control Level)は、その型のメンバー(プロパティやメソッド、イニシャライザーなど)に影響する。
例えば、private修飾したclassのメンバーの暗黙的(デフォルト)アクセス制限はprivateである。

 

明示的publicクラス

注意

public typeはデフォルトでinternalのメンバーを持つ。publicではない。メンバーのアクセス制御をpublicにするときは、いかなるケースでも明示的にpublic修飾を記述する必要がある。

 

暗黙的internalクラス

型(クラス)のデフォルトアクセスコントロールはinternal。したがって、その型(クラス)のメンバーのデフォルトアクセス制御もinternalとなる。

 

明示的fileprivateクラス

明示的にクラスにfileprivateを指定しているため、そのクラスのメンバーのアクセス制御もデフォルトではfile-privateとなる。もちろん明示的にprivateを指定したメンバーはprivateになる。

 

明示的privateクラス


参照

Custom Types – The Swift Programming Language (Apple)