`lateinit var` stosujesz, gdy potrzebujesz nie‑nullable właściwości inicjalizowanej później (np. w DI lub lifecycle), a `null` nie jest poprawnym stanem. Działa tylko dla `var` i typów nie‑prymitywnych. Inicjalizację sprawdzisz przez `::prop.isInitialized`.
Rozwinięcie krótkiej odpowiedzi — co zwykle ma znaczenie w praktyce:
Krótki przykład (szablon do wyjaśniania):
// Example: discuss trade-offs for "`lateinit`-vs-nullable:-kiedy-wybrać-`lateinit`?"
function explain() {
// Start from the core idea:
// `lateinit var` stosujesz, gdy potrzebujesz nie‑nullable właściwości inicjalizowanej późnie
}