[기술 면접 질문] lateinit 속성

0

기술 면접 준비

목록 보기
9/19
post-thumbnail

[기술 면접 질문] lateinit 속성

📝요약

lateinit 키워드는 변수만 미리 선언하고, 초기화는 나중에 해야하는 경우 사용하는 키워드 입니다. lateinit 속성을 사용할 때에는 변수가 초기화되기 전에 변수에 접근하지 않도록 주의해야 합니다.

📌참고자료

lateinit 키워드란?

  • 변수만 미리 선언하고, 초기화는 나중에 해야하는 경우 사용하는 키워드
  • Nullable 변수로 선언하여 null로 초기화하는 경우, 해당 변수에 접근할 때마다 safe-call을 사용해야
    -> lateinit 변수로 선언하여 번거로움 없앰 & 가독성 좋아짐

lateinit 속성을 사용할 때 주의할 점

  • lateinit 변수로 선언 후 초기화하기 전 변수 접근 시, 오류 발생
    lateinit property subject has not been initialized

lateinit 키워드의 특징

  • var로 선언된 클래스 프로퍼티에만 사용 가능
  • 기본 자료형(Int, Long, Double, Float 등) 사용 X
  • Nullable 타입 사용 X
  • lateinit으로 선언된 변수는, Nullable 타입으로 컴파일되어, 변수 초기화가 될 때까지 null 값을 지닌다
    -> 기본 자료형(Primitive Type)은 Non-Nullable 타입이기 때문에 lateinit 키워드를 사용할 수 X
    -> Nullable 타입은 변수가 초기화되지 않은 상태인지 null로 초기화된 상태인지 구분할 수 없어 lateinit 키워드를 사용할 수 X
profile
Be able to be vulnerable, in search of truth

0개의 댓글