トップレベル宣言
Javaではクラス内部の定義のみだが、Kotlinではクラスに属さないようにトップレベルに定義、アクセスできる。
- インターフェース(sealed interface)
- クラス(data class/object/value class/sealed class/enum class)
- プロパティ
- 関数
- typealias
1ファイル中に複数のクラスを宣言可能
トップレベル宣言処理のクラス
- トップレベルに複数宣言されたクラスやインターフェース
- 各名称のクラスを生成
- トップレベルに宣言されたプロパティや関数、typealias
- ファイル名Ktというクラスを生成。そのクラスに属することになる
クラスメソッドやクラス変数の定義場所
companion objectに定義しがちだが、トップレベルへの定義が推奨とのこと 余計なオブジェクトの生成が減る