본문 바로가기

Flutter/Dart

데이터 타입 Data Type

 

 

1. 기본 데이터 타입

Dart에서는 다음과 같은 기본 타입을 사용할 수 있다.

void main() {
  String name = "tom";  // 문자열
  bool isPlay = true;   // 참/거짓(boolean)
  int age = 10;         // 정수
  double money = 52.55; // 실수
  num x = 12;           // int와 double 모두 가능
  num y = 1.2;          
}

✅ num 타입은 int와 double을 모두 포함하는 타입이다.


2. 리스트(List) 다루기

리스트는 배열과 비슷한 자료구조이다. Dart에서는 두 가지 방식으로 선언할 수 있다.

void main() {
  List<int> case1 = [1, 2, 3, 4, 5];  // 타입 명시
  var case2 = [1, 2, 3, 4, 5];        // 타입 추론
}

✅ List<int> 처럼 타입을 지정하면 해당 타입의 값만 저장 가능하다.

리스트 끝에 쉼표(,) 사용하기

DartPad나 VSCode에서 줄바꿈할 때 쉼표(,)를 붙이면 가독성이 좋아진다.

(알아서 엔터쳐서 내려가기 때문)

void main() {
  List<int> case1 = [
    1,
    2,
    3,
    4,
    5,
  ];
}

3. 조건부 요소 추가 (collection if)

리스트에 조건을 만족할 때만 특정 요소를 추가할 수 있다.

void main() {
  var giveMeSix = true;
  var numbers = [
    1,
    2,
    3,
    4,
    5,
    if (giveMeSix) 6,  // 조건이 true면 6 추가
  ];
  print(numbers); // [1, 2, 3, 4, 5, 6]
}

이건 아래 코드와 동일한 기능이다.

if (giveMeSix) {
  numbers.add(6);
}

✅ if 문을 리스트 안에서 사용할 수 있어서 더 간결해진다.


4. 문자열에서 변수 사용하기 (String Interpolation)

Dart에서는 문자열 안에 변수를 쉽게 삽입할 수 있다.

void main() {
  var name = "tom";
  var age = 10;
  var greeting = "Hello $name, I'm ${age + 5}";  
  print(greeting); // Hello tom, I'm 15
}

✅ $변수명 또는 ${표현식} 형태로 문자열 안에서 변수나 계산 결과를 삽입할 수 있다.


5. 리스트에서 collection for 사용하기

리스트 안에서 for 문을 사용할 수 있다.

void main() {
  var oldFriends = ["nico", "lynn"];
  var newFriends = [
    "tom",
    "jon",
    for (var friend in oldFriends) "❤️ $friend"
  ];
  print(newFriends); // [tom, jon, ❤️ nico, ❤️ lynn]
}

✅ 기존 리스트를 새로운 리스트 안에서 반복해서 사용할 수 있는 기능이다.


6. Map (키-값 저장소)

Map은 Key-Value(키-값) 쌍으로 이루어진 자료구조이다.

void main() {
  var gifts = {
    'first': 'partridge',
    'second': 'turtledoves',
    'fifth': 'golden rings'
  };

  // 생성자로 Map을 만들 수도 있다.
  var gifts2 = Map();
  gifts2['first'] = 'partridge';
  gifts2['second'] = 'turtledoves';
  gifts2['fifth'] = 'golden rings';

  print(gifts['first']); // partridge
}

✅ 딕셔너리(Map)처럼 Key를 이용해 값을 저장하고 꺼낼 수 있다.


7. Set (중복 없는 리스트)

Set은 중복을 허용하지 않는 리스트이다.

void main() {
  var halogens = {'fluorine', 'chlorine', 'bromine', 'iodine', 'astatine'};
  print(halogens); // {fluorine, chlorine, bromine, iodine, astatine}
}

✅ 중복된 값이 있으면 자동으로 제거된다.
✅ 리스트(List)는 중복 가능, 세트(Set)는 중복 불가능하다.


마무리

  • 모든 것이 객체
  • 기본 데이터 타입 (int, double, bool, String, num)
  • 리스트(List) → collection if, collection for 활용
  • 문자열에서 변수 사용 ($변수명, ${계산})
  • 맵(Map) → Key-Value 저장
  • 세트(Set)중복 없는 값 저장
반응형

'Flutter > Dart' 카테고리의 다른 글

Dart 클래스 classes (2)  (0) 2025.02.03
Dart 클래스 classes (1)  (0) 2025.02.03
함수 | Function  (0) 2025.02.03
Variables 변수  (0) 2025.01.29
Dart 란?  (1) 2025.01.21