今回はアクセスレベルについて書いていきたいと思います📝
よく変数や関数の前にPrivateといったのを見たことはありませんか?それの事です😎
対象はSwift5です。
公式ドキュメントはこちら
アクセスレベルとは
簡単に言うと宣言した変数やメソッドなどを何処でも使えるようにするか、又は制限した範囲でのみ使用可能にするか設定することです。
全部で5つあり、それぞれ特徴があります。
アクセスレベル | 説明 |
---|---|
Private | 宣言したコードブロック内でのみアクセス可能(これの中→{}) |
FilePrivate | 宣言されたファイル内でのみアクセス可能 |
Internal | アプリのモジュール内でアクセス可能(デフォルトはこれで、設定しなかったら自動でInternalになる) |
Public | 他のモジュールへのアクセスが可能になるが、継承やオーバーライドは不可 |
Open | 継承もオーバーライドも可能になる、つまり何でもできる |
なぜアクセスレベルを使うのか
アクセスレベルを設定しないとデフォルトでInternalになるので、モジュール内でアクセス可能になってしまいます。
モジュール内で使うことを想定しているのなら問題ないのですが、特定の処理に使うことを想定した変数やメソッドを関係無いところで使われるのは問題です😱
それを防ぐためにアクセスレベルを設定し、意図しない利用を防ぎます!🙅♂️
このアクセスレベルはいつでも変更が可能なので、初期段階で利用範囲が決まっていないのなら、基本的にPrivateで設定して置くのが無難です。
利用範囲が大きくなったタイミングで段階的にアクセスレベルを広げていきましょう!🙆♂️