【Kotlin/Android】lateinit(遅延初期化プロパティ)とは?使い方

この記事からわかること
- Androidアプリ開発:lateinit(遅延初期化プロパティ)とは?
- 宣言方法や使い方
- kotlin.UninitializedPropertyAccessException: lateinit property name has not been initializedの原因
index
[open]
\ アプリをリリースしました /
環境
- Android Studio:Flamingo
- Kotlin:1.8.20
lateinit(遅延初期化プロパティ)とは?
通常クラスのプロパティはインスタンス化時に初期化(初期値を格納する)必要があります。初期値を格納しないとProperty must be initialized or be abstract
というエラーが発生します。
しかしさまざまな理由で初期化のタイミングを遅らせたい時があり、そんな時に使用できるのがlateinit
です。lateinit
はプロパティの宣言の前に付与して使用します。また付与できるのはvar
(変数)のみです。
kotlin.UninitializedPropertyAccessException: lateinit property name has not been initialized
初期化のタイミングを遅らせたことで明示的に別のタイミングで初期値を格納する必要があります。もし初期化されていない状態で参照しようとするとkotlin.UninitializedPropertyAccessException
という例外をスローします。
まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。
ご覧いただきありがとうございました。