late 키워드는 클래스 멤버 변수에 붙여 해당 변수의 초기화를 지연시키는 데 사용됩니다. 즉, 변수가 처음 사용될 때 메모리에 할당됩니다. ⏳
late를 사용하면 멤버 변수가 선언 시점에 즉시 초기화되지 않고, 해당 변수에 접근하는 시점에 초기화됩니다. 이는 불필요한 메모리 할당을 줄이고 성능을 최적화하는 데 유용합니다. 🚀
late는 null을 허용하지 않는(non-nullable) 멤버 변수를 선언할 때, 생성자에서 즉시 초기화하지 않고 나중에 값을 할당하겠다는 의도를 명시하여 컴파일 오류를 피할 수 있게 합니다. ✅
- 멤버 변수를 선언하는 시점에 해당 클래스의 다른 멤버 변수(
this 키워드)에 접근해야 할 경우, late를 사용하면 객체가 완전히 생성된 후에 초기화가 이루어지므로 this 접근이 가능해집니다. 🏗️
- Flutter와 같은 프레임워크에서는 위젯의 라이프사이클(
initState 등)에 맞춰 컨트롤러와 같은 리소스를 지연 초기화하거나, null 안전성을 유지하면서 특정 시점에 값을 할당해야 할 때 late 키워드를 활용합니다. 📱
데브허브 | DEVHUB | 다트 기초 문법 - 14일차 / late