다트는 웹 프론트엔드 개발을 목적으로 개발된 언어입니다. 현재는 서버나 웹, 앱 등을 만들 때 사용할 수 있습니다.
다트 언어의 특징
다트는 다음과 같은 특징을 갖고 있습니다.
main()
함수를 시작점으로 가집니다.
- 모든 변수가 객체이며, 모든 객체는
Object
클래스를 상속 받습니다.
- 변수 안에 저장되는 값은 모두 Object입니다.
- Function, number, null 등이 모두 Object로 취급됩니다.
- 따라서 변수에 저장되는 모든 값은 클래스의 인스턴스로 취급됩니다.
- 동적 타입(
dynamic
)을 지원하는 정적 타입 언어입니다.
- var: type을 지정하지 않아도 dart에서 타입 추론을 합니다.
- dynamic: 변수에 타입 제한을 두지 않습니다. 다른 타입을 다시 대입할 수 있습니다.
- 제너릭 타입을 이용할 수 있습니다.
List<int>
, List<dynamic>
등과 같이 제너릭을 지원합니다.
- public, private 과 같은 키워드가 존재하지 않습니다.
- private의 경우, 클래스 단위가 아닌 파일 단위로 접근이 가능합니다.
- private 함수를 선언하기 위해서는 함수 명 앞에 언더바(_)를 붙여주면 됩니다.
- 변수 또는 함수의 시작은 언더바(_) 또는 문자열로 시작할 수 있습니다.
위와 같은 특징으로 다른 언어를 사용해본 경험이 있다면 보다 쉽게 다트에 적응할 수 있습니다.
다트의 특징 이해
다트로 만든 프로그램은 main()
함수를 시작점으로 가집니다.
printNumber(int num) {
print('number: $num');
}
main() {
printNumber(12);
}
위의 예시에서 main()
함수는 printNumber()
함수에 12를 인자로 전달하고 있습니다. printNumber()
함수는 int
타입을 전달받아 콘솔에 출력하는 함수입니다.
따라서, 위 코드는 main()
-> printNumber()
-> print()
순서로 함수가 실행되어서 콘솔에 12를 출력할 것입니다.