What is Dart? 다트는 어떤 언어인가?

Dart is a general-purpose programming language developed by Google. It is used to build web, server and mobile applications, and for Internet of Things (IoT) devices. (From Wikipedia, the free encyclopedia)

–> Dart란 언어는 2011년 구글이 개발한 웹프로그래밍용 언어이다. 객체지향 프로그래밍언어로써 웹에서 가장 강력한 언어로 간주되는 javascript를 대체하기 위해 구글이 개발했다. 하지만, 2018년이 될 때까지 배울 필요가 없는 프로그래밍언어 중 하나로 여겨졌다. 그런데 왜 이 언어가 갑자기 인기를 얻기 시작했을까요?
(출처:일부러 배울 필요는 없는 프로그래밍 언어 5가지http://www.itworld.co.kr/news/108761#csidxac8fc3cd9a3105ca151fff4046c2322)

2018년 구글 I/O에서 구글이 Flutter를 발표함으로써 Dart언어까지 인기를 얻기 시작했다. Flutter는 하나의 코드로 동시에 IOS와 Android 어플리케이션을 만들 수 있게 만들어줬다. 똑같은 기능을 하는 어플리케이션을 두 가지의 언어로 만드는 어려운 일을 쉽게 만들어줬다. 특히, 구글이 가지고 있는 디자인 툴인 Material Design을 제공함으로써 디자인에 무지한 저 같은 프로그래머들….에게도 혼자서도 디자인을 가능하게 해줬다. 그렇다면 다트는 어떤점이 다른지 한번 살펴보도록 하자.

How Dart is Different? 다트는 다른 언어들과 어떤 점에서 다른가?

예제 코드)

// 함수 정의
printInteger(int aNumber) {
  print('The number is $aNumber.'); // 콘솔창에 프린트.
}

// 시작하는 곳
main() {
  var number = 42; // 변수 선언 및 초기화
  printInteger(number); // 함수 호출
}

Dart의 특징들:

1.자료형

Dart는 java의 자료형에 javascript의 자료형을 합친것과 비슷하다.

  • var : 어느 형태의 data type을 넣는 것이 가능하다
  • String, int, double, bool - java의 자료형과 같다.

또한, Dart에서는 var로 선언을 했을 때 나중에 다른 타입으로 바꾸는 것이 가능하다. 이러한 점은 Python가 유사하다.

var name = "BOB";
name = 10; //가능하다

2. Default Value

Dart의 초기화 되지 않은 변수들의 값은 NULL이다.

int lineCount;
assert(lineCount == null);

3.Final & Const

Final이 선언되면 자료형(data type)을 안 써도 된다, 다만 그 값은 바뀔 수 없다.

final name = 'Bob'; // 타입 선언 해줄 필요 없다.
name = 'Alice'; // Error
  • Const는 compile-time 때 constant가 되기를 원할 때 사용한다.
  • 클래스 레벨에 있을 때는 static const 라고 선언해줘야 한다.
  • 선언 뿐만 아니라 값에도 const를 사용할 수 있다
    var foo = const [];
    final bar = const [];
    const baz = []; // Equivalent to `const []`