Swift5には意外と多くのアクセス修飾子があります。必要なときにすぐに確認できるようまとめておきます。
private
そのクラスまたは構造体の中でのみアクセス可能(extension内でもアクセス可能)
private(set)
setの時はprivateと同じ制限、getの時は同一モジュール内からアクセスできる
internal
同一モジュールからアクセスできる。継承やoverrideもできる。
特にアクセス修飾子をつけない場合はデフォルトでこのレベルの制限になる。
fileprivate
同一ファイルからアクセス可能
public
そのモジュールをインポートしていればアクセス可能。継承やoverrideはできない。
open
そのモジュールをインポートしていればアクセス可能。継承やoverrideもできる。
上から順に制限が厳しい順番になります。適切なアクセス制限を使用するようにしましょう。
コメント