Flutter에서 const, final, late의 차이

2023. 5. 25. 12:06·Flutter
반응형

소개

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
'Flutter' 카테고리의 다른 글
  • Flutter의 상태 관리: Provider, Riverpod 및 BLoC 환경 탐색
  • Flutter 애니메이션 : 생동감 있는 인터페이스 구현
  • Flutter 언어의 자료형
  • Flutter에서 Stateful과 Stateless Widget
코샵
코샵
나의 코딩 일기장
    반응형
  • 코샵
    끄적끄적 코딩 공방
    코샵
    • 분류 전체보기 (725)
      • 스마트팜 (0)
      • 상품 추천 (223)
      • MongoDB (4)
      • 하드웨어 (17)
      • 일기장 (4)
      • 파이썬 (130)
        • Basic (41)
        • OpenCV (8)
        • Pandas (15)
        • PyQT (3)
        • SBC(Single Board Computer) (1)
        • 크롤링 (14)
        • Fast API (29)
        • Package (6)
      • Unity (138)
        • Tip (41)
        • Project (1)
        • Design Pattern (8)
        • Firebase (6)
        • Asset (2)
      • Linux (4)
      • C# (97)
        • Algorithm (11)
        • Window (7)
      • TypeScript (51)
        • CSS (10)
      • Git (11)
      • SQL (5)
      • Flutter (10)
        • Tip (1)
      • System (1)
      • BaekJoon (6)
      • Portfolio (2)
      • MacOS (1)
      • 유틸리티 (1)
      • 서비스 (6)
      • 자동화 (3)
      • Hobby (10)
        • 물생활 (10)
        • 식집사 (0)
  • 인기 글

  • 태그

    ipcamera
    상품 리뷰 크롤링
    카페24리뷰
    쇼핑몰리뷰
    codingcommunity
    C#
    list
    믈레코비타멸균우유
    cv2
    스크립트 실행 순서
    learntocode
    appdevelopment
    rtsp
    셀레니움
    unity
    스마트스토어리뷰
    리뷰관리
    라떼우유
    programmerlife
    Python
    codingtips
    programming101
    스크립트 실행
    리스트
    devlife
    유니티
    리뷰이관
    파이썬
    카페24리뷰이관
    긴유통기한우유
  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
코샵
Flutter에서 const, final, late의 차이
상단으로

티스토리툴바