Kotlinの可視性修飾子である「internal」だが、公式ドキュメントを読んでもイマイチピンと来なかったので、
調べてみた。
internalを公式ドキュメントから確認
Kotlinの公式ドキュメントには以下のように記載されている
internal として宣言すると、同じモジュール内のどこからでも見えます
ここで、モジュール内ってどの範囲?がわからなくなった。
internalは自分のプロジェクト内部で使用可能
自分が所属するプロジェクト内で使用可能。
Android Studioでいうと、自分が開発しているアプリケーションのプロジェクト内部。
以下画像で言うところの、app配下でならinternalアクセス可能となる。
詰まるところ、publicと非常に近いのではと思います。
どのような場合に利用する?
internalは外部ライブラリには公開されません。
そのため、公開用のライブラリを構築中に、内部のみで利用するデータに対してinternalを利用するのが良いのではと思います。