1. 타입이란?
타입은 프로그래밍을 할 때 다루는 데이터의 형태입니다.
예를 들어 변수가 데이터를 담는 상자라면,
데이터 타입은 그 상자에 담을 수 있는 데이터의 종류라고 생각하시면 됩니다. 🚀
2. 숫자형 (Numbers)
Dart에서 숫자는 int와 double 두 가지 타입으로 나뉩니다.
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
Sound null safety
Information about Dart's null safety feature
dart.dev
'Flutter' 카테고리의 다른 글
[Dart] 조건문 (if, if-else, switch) (0) | 2025.03.10 |
---|---|
[Dart] 연산자 (Operators) (0) | 2025.03.10 |
[Dart] 반복문(for, for-in, while, do while) (0) | 2025.03.07 |
[Dart] 변수 선언 (0) | 2025.03.07 |