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
코샵
코샵
나의 코딩 일기장
    반응형
  • 코샵
    끄적끄적 코딩 공방
    코샵
  • 전체
    오늘
    어제
    • 분류 전체보기 (517) N
      • 상품 추천 (33)
      • MongoDB (4)
      • 하드웨어 (5) N
      • 일기장 (4)
      • Unity (138)
        • Tip (41)
        • Project (1)
        • Design Pattern (8)
        • Firebase (6)
        • Asset (2)
      • 파이썬 (127)
        • Basic (40)
        • OpenCV (8)
        • Pandas (15)
        • PyQT (3)
        • SBC(Single Board Computer) (1)
        • 크롤링 (14)
        • Fast API (29)
        • Package (6)
      • Linux (4)
      • C# (97)
        • Algorithm (11)
        • Window (7)
      • TypeScript (48)
        • 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)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • 다비즈
  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

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

티스토리툴바