Dart: Data Types

Juppi·2024년 6월 4일
0

Flutter 개발 일지

목록 보기
6/7

Basic Data Types

void main() {
  String name = '주삐';
  bool alive = true;
  int age = 12;
  double money = 69.99;
  num x = 12;
  x = 1.1;
}

위 데이터 타입을 포함해서 Dart의 거의 전부가 Object로 이루어져있다. (심지어 function도 object)
이는 Dart가 진정한 객체 지향 언어로 불리는 까닭이다 !

데이터 타입에서 마우스 우클릭으로 go to type definition을 클릭해서 정의부분으로 이동하면, 위 모든 데이터가 class로 작성된 것을 확인할 수 있다.
int와 double은 num이란 클래스를 상속받아서 구현되어있다.

num 자료형을 사용해서 변수를 선언하면, 그 숫자는 integer일 수도 있고, double일 수도 있다.

List

void main() {
  var numbers = [1, 2, 3, 4,]; // List<int>
}

리스트는 플러터에서 매우 자주 쓰인다.
파이썬과 달리, 하나의 리스트에는 한 종류의 자료형만 존재할 수 있다.

  • number.first : 첫번째 요소를 반환한다.
  • number.last: 마지막 요소를 반환한다.

위 두 가지 말고도 다양한 메서드를 지원하니, 필요할 때 잘 찾아서 사용하면 된다.

Dart에서 List의 멋진 점 ✨

collection if

collection if로 리스트를 생성할 수 있는데, if로 존재할 수도 안할 수도 있는 요소를 만들 수 있다.

void main() {
  var giveMeFive = true;
  var numbers = [
    1,
    2,
    3,
    4,
    if (giveMeFive) 5,
   ];
}

위 코드 처럼 List 안에서 if 문을 사용해서 조건에 따라 요소를 추가할 수 있다.

collection for 이라는 기능도 지원하는데, 그 전에 string interpolation에 대해 알아보자.

String Interpolation

string interpolation은 text에 변수를 추가하는 방법이다.

void main() {
  var name = '주삐';
  var greeting = 'Hello, my name is $name';
}

Collection For

void main() {
  var oldFriends = ['주삐', '갱미'];
  var newFriends = [
    '하니',
    '조이',
   	for (var friend in oldFriends) '💛 $friends',
  ];
  print(newFriends);
  // [하니, 조이, 💛 주삐, 💛 갱미]
}

collection if나 collection for 같은 기능은 UI를 만들 때 매우 유용한 기능이다.
예를 들어 메뉴나 내비게이션 바를 만드는데 user가 로그인했는지 안했는지 나타내는 버튼을 만들어야할 때 사용할 수 있다. (코드 길이도 짧아지고 가독성도 좋아짐)

Maps

dart의 map은 js, ts의 object와 python의 map과 같은 자료형이다.

void main() {
  // Type: Map<String, Object> 
  var player = {     'name': 'juppi',
    'xp': 19.99,
    'superpower': true,
  };
}

key와 value로 이루어진 Map을 생성했는데, key는 String이고 value는 object다.
Object란 뭘 까 ? Dart에서는 기본적으로 모든 것이 Object로부터 생성되기 때문에 Object는 어떤 자료형이든지 될 수 있다. (Typescript의 any로 이해하면 된다.)

dart에서는 모든 것이 object이고, class로 생성되기 때문에 Map도 method와 property를 가질 수 있다.

Sets

void main() {
  var numbers = {1, 2, 3, 4};
}

set에 속한 모든 아이템은 유니크하다.

해당 글은 노마드 코더의 [Dart 시작하기] 무료 강의를 듣고 정리한 글입니다.
profile
잠자면서 돈버는 그날까지

0개의 댓글