소개
Flutter에서 변수를 선언할 때 const, final, late 등의 키워드를 사용할 수 있습니다. 이번 글에서는 이 세 가지 키워드의 차이점에 대해 자세히 알아보겠습니다.
const
const는 변수를 선언할 때 사용되며, 한 번 값이 할당되면 변경될 수 없습니다. 이는 컴파일 타임에 값이 결정되므로, 런타임 시에는 더 이상 변경되지 않습니다.
const value = 10;
위의 코드에서 value 변수는 컴파일 타임에 10으로 결정되므로, 런타임 시에는 더 이상 변경될 수 없습니다.
final
final은 변수를 선언할 때 사용되며, 값이 한 번 할당되면 변경될 수 없습니다. 그러나 const와 달리 런타임 시에 값이 결정됩니다.
final now = DateTime.now();
위의 코드에서 now 변수는 런타임 시에 현재 시간으로 결정됩니다. 그러나 한 번 결정된 이후에는 더 이상 변경될 수 없습니다.
late
late는 변수를 선언할 때 사용되며, 선언 이후에 나중에 값을 할당할 수 있습니다. 그러나 변수를 사용하기 전에 값을 할당하지 않으면, 런타임 시에 예외가 발생합니다.
late String name;
위의 코드에서 name 변수는 선언 이후에 나중에 값을 할당할 수 있습니다. 그러나 변수를 사용하기 전에 값을 할당하지 않으면, 런타임 시에 예외가 발생합니다.
차이점
const와 final은 값이 할당된 이후에는 변경될 수 없으며, const는 컴파일 타임에 값이 결정되고, final은 런타임 시에 값이 결정됩니다. 반면에 late는 변수를 선언한 이후에 값을 할당할 수 있지만, 변수를 사용하기 전에 값이 할당되지 않으면 예외가 발생합니다.
이를 DateTime.now()로 설명하면, const로는 현재 시간을 할당할 수 없습니다. final로는 할당할 수 있지만, 그 이후에 더 이상 변경할 수 없습니다. late로는 선언 이후에 나중에 값을 할당할 수 있지만, 변수를 사용하기 전에 값을 할당하지 않으면 예외가 발생합니다.
이렇게 Flutter에서 const, final, late의 차이점에 대해 알아보았습니다. 적절한 상황에 맞게 사용하여 변수를 선언하면, 코드의 가독성과 유지보수성을 높일 수 있습니다.
'Flutter' 카테고리의 다른 글
Flutter의 상태 관리: Provider, Riverpod 및 BLoC 환경 탐색 (0) | 2023.08.23 |
---|---|
Flutter 애니메이션 : 생동감 있는 인터페이스 구현 (0) | 2023.08.22 |
Flutter 언어의 자료형 (0) | 2023.05.24 |
Flutter에서 Stateful과 Stateless Widget (0) | 2023.05.23 |
Flutter에서 Future란 무엇인가? (0) | 2023.05.22 |