Flutter 개발을 위한 Dart 언어 핵심 특징을 알아보자
3 min readAug 5, 2019
dart 란?
- 구글이 자바스크립트를 대체하기 위해 2011년 개발한 웹프로그래밍 언어
- https://dart.dev/에 소개가 나와 있음.
- 모바일 앱, 웹 앱, 명령어 스크립트, 서버 프로그래밍 등 어떤 것이든 다트를 사용해 만들 수 있음.
- Dart 프로젝트의 목적은 구조적이지만 유연하고, 프로그래머들에게 자연스럽고, 다양한 종류의 기기에서 돌아가게 하는 것
- 기존 프로그래밍 언어, 특히 JAVA랑 유사한 점이 많기 때문에, 처음에 배울 때 몇 가지 특징만 숙지하고 있다면 쉽게 숙지하고 넘어갈 수 있다.
Dart 언어 핵심 특징 5개 정리
- https://dart.dev/guides/language/language-tour에서 중요한 부분만 발췌
1. 모든 것들이 전부 Object 로 취급함.
- Variable 안에 넣을 수 있는 것은 전부 Object.
- Fuction, number, null 전부 Objcet로 취급 된다.
- 변수에 넣을 수 있는 모든 것은 객체이며, 모든 객체는 클래스의 인스턴스로 취급.
2. List<int>, List<dynamic> 같은 제너릭 type을 지원
- Ex) List<dynamic> list = [1,2,”3”,4,true] 같은 형식이 가능함.
- 전부 object로 취급 되기 때문에 이런 형식이 가능.
3. Typed 언어지만, 자유도를 준다.
- 기본적으로는 typed 언어지만, Var, dynamic으로 선언하면 동적 type으로 사용 가능
- Var : type을 지정하지 않아도 dart 에서 알아서 variable의 type이 뭔지 추측을 함. 다른 타입을 재대입 할 수 없음.
- Dynamic :모든 dart 객체의 기본 Object, 명시적으로 사용, 서로 다른 타입을 지정할 수 있으며, 다른 타입을 재대입할 수 있음.
4. Public, private, protected 의 정의가 없으며, _fuction()으로 정의 된다.
- Private 인 _은 class 안에서만 접근 가능한 것이 아닌, dart page 단위로 private 정의 된다.
5. Identifier는 _아니면 letter로 시작된다.
- 앞에 5로 시작하면 에러가 뜨는 모습을 볼 수 있다.