[Flutter/Dart] 변수 타입 정리

Dart의 변수 타입을 이해하는 것은 효율적인 코드 작성을 위해 필수적입니다. 이번 글에서는 Dart에서 지원하는 변수 타입과 그 특성을 자세히 살펴보겠습니다.

 

 

1. Dart의 주요 변수 타입

Dart는 정적 타입 언어이며, 다양한 기본 데이터 타입을 제공합니다. 다음은 Dart에서 자주 사용되는 주요 변수 타입입니다.

 

1.1 숫자 타입 (Numbers)

Dart에서 숫자 타입은 크게 정수(int)와 부동소수점(double)으로 나뉩니다.

int age = 30; // 정수 타입
double pi = 3.14; // 부동소수점 타입

 

1.2 문자열 (String)

문자열은 String 타입을 사용하며, 작은따옴표(') 또는 큰따옴표(")로 감싸서 표현할 수 있습니다.

String name = "Dart";
String message = 'Hello, World!';

 

1.3 불리언 (Boolean)

bool 타입은 참(true) 또는 거짓(false) 값을 가집니다.

bool isFlutterAwesome = true;

 

1.4 리스트 (List)

리스트는 배열과 유사한 자료구조로, 여러 개의 값을 순서대로 저장할 수 있습니다.

List<String> fruits = ['Apple', 'Banana', 'Cherry'];

 

1.5 맵 (Map)

맵은 키-값 쌍으로 이루어진 자료구조입니다.

Map<String, int> scores = {
  'Math': 90,
  'Science': 85,
};

 

 

2. var, final, const의 차이점

Dart에서는 변수를 선언할 때 var, final, const 키워드를 사용할 수 있습니다.

 

2.1 var

var는 변수의 타입을 자동으로 추론하며, 한 번 타입이 지정되면 변경할 수 없습니다.

var message = "Hello"; // message는 String 타입으로 결정됨

 

2.2 final

final 변수는 한 번만 할당할 수 있으며, 이후 값을 변경할 수 없습니다.

final name = "Dart"; // 변경 불가능

 

2.3 const

const 변수는 컴파일 타임에 결정되는 상수입니다.

const double pi = 3.14159;

 

 

3. 동적 타입 (dynamic)과 null safety

 

3.1 dynamic

dynamic을 사용하면 변수의 타입을 런타임에 결정할 수 있습니다.

dynamic value = "Hello";
value = 42; // 가능

 

3.2 Null Safety

Dart는 Null Safety를 지원하여, null 값을 방지할 수 있습니다.

String? nullableString;
nullableString = null; // 가능