* 해당 글은 '나무위키'와 책'내일은 플러터'의 내용을 요약 정리 하였습니다.
프론트엔드 개발에 사용되는 것이 일반적이지만, 서버 사이드 개발에서도 사용할 수 있다.
정적 타이핑 + 동적 타핑 모두 가능하며, 컴파일러를 통한 빠른 실행 속도를 제공.
- 정적 타이핑 : 변수와 식의 타입을 컴파일 시점에 결정하고, 타입이 고정되어 있는 언어. 프로그래머가 변수를 선언할 때 변수의 타입을 명시하거나, 컴파일러가 변수의 타입을 추론하여 결정. 한번 결정된 타입은 실행 중에 변경되지 않음. 컴파일러가 타입 체크를 수행하여 사전에 타입 관련 오류를 찾아냄.
- 동적 타이핑 : 변수와 식의 타입을 실행 시점에 결정하고, 타입이 유연하게 변할 수 있는 언어. 변수를 선언할 때 타입을 명시하지 않거나, 타입 추론이나 동적 바인딩을 통해 실행 중에 타입이 결정. 타입 체크가 런타임에 이루어짐. 유연성과 편의성을 제공하지만, 실행 중에 타입 오류가 발생할 가능성.
객체 지향 프로그래밍 : 프로그램을 데이터와 처리 방법으로 나누는 것이 아니라, 프로그램을 수많은 객체라는 기본 단위로 나누고 이들의 상호작용으로 이루어지는 방식. 객체란 하나의 역할을 수행하는 메소드와 변수의 묶음으로 봐야 한다.
Dart 사용 이유
1. 클라이언트와 서버 모두 사용할 수 있기 때문에 플랫폼 간 개발이 가능하다. Flutter와 같은 프레임워크에서 사용되어 크로스 플랫폼 개발을 할 수 있다. 즉, 하나의 코드베이스에서 iOS Android 웹 데스크탑 등 다양한 플랫폼에서 애플리케이션을 개발할 수 있다.
2. 대부분의 주요 IDE와 텍스트 에디터에서 지원. 쉽게 배울 수 있는 문법을 제공하며, 개발 생산성을 향상시키는 다양한 기능도 제공. 개발자들이 프로젝트를 보다 쉽고 빠르게 완료할 수 있도록 도움
3. 빠른 실행 속도와 개발자 친화적인 기능. 자바스크립트를 대체할 수 있는 언어로 각광받고 있으며, Flutter 프레임워크에서 기본 언어로 사용되어, Flutter 앱 개발에 필수적인 언어.
'Code > Flutter' 카테고리의 다른 글
dart 객체, 클래스, 인스턴스 (1) | 2024.09.02 |
---|---|
Dart 클래스와 객체, late, cascade(..) (0) | 2023.10.11 |
Dart 리스트, 맵 (1) | 2023.10.09 |
Dart 반복문, 함수, 전역변수 (1) | 2023.10.08 |
Dart 변수와 타입, 연산자, 제어문, 조건문 (0) | 2023.10.07 |