Flutter

[Dart] 데이터 타입

Meezzi 2025. 3. 10. 21:57
728x90

1. 타입이란?

타입은 프로그래밍을 할 때 다루는 데이터의 형태입니다.

 

예를 들어 변수데이터를 담는 상자라면,
데이터 타입그 상자에 담을 수 있는 데이터의 종류라고 생각하시면 됩니다. 🚀

 

 

2. 숫자형 (Numbers)

Dart에서 숫자는 intdouble 두 가지 타입으로 나뉩니다.

 

1) int (정수)

int는 소수점이 없는 정수를 저장합니다.

음수와 양수, 0을 포함하며, 메모리의 크기에 따라 저장할 수 있는 값의 범위가 결정됩니다.

 

int [변수 이름] = [값];
var [변수 이름] = [정수형 타입 값];        // var를 사용하면 자동으로 int로 설정

var x = 1;
var hex = 0xDEADBEEF;                        // 16진수 표현

 

0x를 앞에 붙이면 16진수(hexadecimal) 값을 저장할 수 있습니다.

 

2) double

double은 소수점을 포함하는 실수를 저장하는 데 사용합니다.

double [변수 이름] = [값];
var [변수 이름] = [값];

var y = 1.1;
var exponents = 1.42e5;

 

double z = 1; // z = 1.0.

 

값을 정수로 할당하면 자동으로 소수점을 부여합니다.

 

3) num

num은 int와 double의 상위 클래스로,

int와 double 값을 모두 저장할 수 있습니다.

num [변수 이름] = [값];

num x = 1;
x += 2.5;

 

실수와 정수를 함께 다뤄야 하는 경우에 유용하게 사용할 수 있으며,

num 타입 변수를 선언하면 정수 또는 실수를 자유롭게 변경할 수 있습니다.

 

 

3. 문자형 (Strings)

 

문자열은 텍스트 데이터를 저장하는 타입으로 작은 따옴표(' ') 또는 큰따옴표(" ")로 감싸서 사용할 수 있습니다.

 

여기서 작은 따옴표와 큰 따옴표는 동일한 기능을 수행하기 때문에 코딩 스타일에 맞춰 사용하시면 됩니다.

1 ) String

String [변수 이름] = '문자';
String [변수 이름] = "문자";
var [변수 이름] = '문자';
var [변수 이름] = "문자";

String name = 'Dart';
String hello = "Hello, $name!";
print(hello); // Hello, Dart!

 

$변수 또는 ${표현식} 을 사용하여 문자열 안에 변수를 삽입할 수 있습니다.

 

2) 작은 따옴표와 큰 따옴표 차이

작은 따옴표와 큰 따옴표의 차이는 없지만

위 코드와 같이 문자열에 작은 따옴표(or 큰 따옴표)를 포함할 때는 각각 다른 따옴표를 사용하면 됩니다.

String s1 = "I'm learning Dart!";  	// 작은따옴표를 포함할 때
String s2 = 'He said, "Hello!"';  	// 큰따옴표를 포함할 때

 

 

만약, 같은 따옴표를 문자열 안에서 사용해야 한다면 백슬래시를 추가하면 됩니다.

String s1 = 'I\'m learning Dart!';
String s2 = "He said, \"Hello!\"";

print(s1); 		// I'm learning Dart!
print(s2); 		// He said, "Hello!"

 

3) 여러 줄의 문자열

여러 줄의 문자열을 다룰 때는 삼중 따옴표(''' 또는 """)를 사용할 수 있습니다.

var s1 = '''
여러 줄의 
문자열을 만들어봅시다
''';

var s2 = """여러 줄의
문자열을 만들어봅시다""";

 

여러 줄의 문자열을 다룰 때는 삼중 따옴표(''' 또는 """)를 사용할 수 있습니다.

 

 

4. 불리언형 (Boolean)

불리언은 참(true) 또는 거짓(false) 값만 가질 수 있는 데이터 타입입니다.

bool [변수 이름] = [값];

bool isTrue = true;
bool isFalse = false;

 

 

5. null

 

Dart는 Null Safety를 지원하여 변수가 null을 가질 수도 있습니다.

여기서 null이란 아무것도 없는 값을 의미합니다.

 

int a = 5;
int? b = null;

 

타입 뒤에 ?를 붙이면 nullable 한 변수(null을 허용하는 변수)로 선언할 수 있습니다.

 

String? name;

 

만약, null을 허용하는 변수의 초기값이 설정되지 않다면 기본적으로 null이 할당됩니다.

 

 

 

1) Null Safety란?

Null Safety는 Dart에서 null로 인해 발생할 수 있는 오류(Null Pointer Exception)를 방지하는 것입니다.

 

예를 들어 값이 null인 변수에 접근하면 런타임 오류가 발생합니다. 

이러한 유형의 오류는 디버깅하기 쉽지 않습니다.

 

2) ?. (Null-aware 연산자)

 

이를 해결하기 위해 ?. (Null-aware 연산자)를 사용합니다.

String? hello;
print(hello?.length);     // null

hello = 'hello world!';
print(hello?.length);    // 12

 

?. 연산자를 사용하면 null이 아닐 때만 .length를 실행하고, null이면 그대로 null을 반환합니다.

 

 

6. 참고자료

https://dart.dev/language/built-in-types

 

Built-in types

Information on the types Dart supports.

dart.dev

 

https://dart.dev/null-safety

 

Sound null safety

Information about Dart's null safety feature

dart.dev

 

728x90