kotlin, lateinit사용의 이점

이도현·2023년 8월 11일
0

Kotlin 공부

목록 보기
16/20

lateinit

  • 코틀린에서는 클래스 안의 널이 될 우 없는 프로퍼티를 생산자 안에서 초기화하지 않고 특별한 메서드 안에서 초기화 할 수 없다.
  • 코틀린에서는 일반적으로 생성자에서 모든 프로퍼티를 초기화해야함
  • 프로퍼티 타입이 널이 될 수 없는 타입이라면 반드시 널이 아닌 값으로 프로퍼티를 초기화
  • 그런 초기화 값을 제공할수 없으면 널이 될 수 있는 타입을 사용할 수 밖에 없는데, 이러면 모든 접근에 대해 널 검사를 넣거나 !!연산자를 서야한다.
    • lateinit
      나중에 초기화하는 프로퍼티는 항상 var여야 한다.
      val 프로퍼티는 final필드로 컴파일되며, 생성자 안에서 반드시 초기화해야 한다.

이점

  • 늦은 초기화의 안전성: lateinit을 사용하면 나중에 초기화할 변수임을 명확하게 지정할 수 있습니다. 이로 인해 런타임 중 변수 초기화의 실수를 줄일 수 있다.
  • 초기화 지연: 모든 변수를 초기화하는 것은 메모리와 성능에 영향을 줄 수 있습니다. lateinit을 사용하면 필요한 시점에만 변수를 초기화할 수 있으므로, 리소스를 효율적으로 사용할 수 있습니다.
  • 의존성 주입과의 통합: 의존성 주입 프레임워크를 사용할 때, 변수가 선언 시점에서는 초기화되지 않을 수 있습니다. lateinit을 사용하면 이런 상황을 쉽게 처리할 수 있습니다.
  • 코드 간결성: 초기화가 복잡하거나 다른 곳에서 이루어져야 하는 경우, lateinit을 사용하면 코드를 더 간결하고 명확하게 만들 수 있다.
profile
좋은 지식 나누어요

0개의 댓글