Dart 기본 문법(1)
다트 언어의 9가지 특징
- 다트는 main() 함수로 시작한다.
- 다트는 어디에서나 변수를 선언하고 사용할 수 있다.
- 다트에서는 모든 변수가 객체이다. 모든 객체는 Object 클래스를 상속받는다.
- 다트는 자료형이 엄격한 언어입니다. 만약 여러 자료형을 허용하려면 dynamic 타입을 사용할 수 있다.
- 다트는 제네릭 타입을 이용해 개발할 수 있습니다. List<int>처럼 int형을 넣을 수 있고, List<dynamic>처럼 다양한 키워드도 넣을 수 있다.
- 다트는 public, protected 같은 키워드가 없습니다. 외부로 노출하고 싶지 않다면 변수나 함수 이름 앞에 언더스코어(_)를 이용해 표시할 수 있다.
- 변수나 함수의 시작은 언더스코어 또는 문자열로 시작하고 그 이후에 숫자를 입력할 수 있다.
- 다트는 삼항 연산자를 사용할 수 있다.
- Null safety를 지원합니다. 널에 대한 오류가 발생하지 않도록 작업할 수 있다. Null safety는 프로그램 실행 중 널 예외가 발생하면 프로그램이 중지되는데, 이를 코드 단계에서 구분하여 작성할 수 있도록 하기 위해서 사용한다.
Dart 변수
변수
- 정수, 실수, 부울(true, false), 문자열 변수
- = 은 대입 연산자이다. 오른쪽에 있는 값을 변수에 대입할 때 사용한다.
타입 확인
- runtimeType을 활용하여 변수의 타입을 확인할 수 있다.
타입 추론
- Dart 언어는 타입 추론을 지원한다. 값이 들어올 때 타입을 추론하여 변수를 초기화한다.
- var 과 dynamic의 차이는 var는 타입 변경이 불가능하고, dynamic은 타입 변경이 가능하다.
연산자
산술 연산자
- 수학에서 사용하는 사칙 연산과 나머지 연산을 포함하는 연산자이다. Dart에서는 몫을 구하는 연산자가 포함되어 있다.
비교 연산자
- 두 개의 값을 비교하여 결과를 참/거짓으로 반환하는 연산자이다.
논리 연산자
- 두 개의 참/거짓 값으로 새로운 참/거짓을 반환하는 연산자이다.
조건문
if문
- 조건이 '참이면, 참이 아니면'을 구분하여 프로그램을 분기시킬 때 사용한다.
삼항 연산자
- 조건식 ? 참이면 실행 : 거짓이면 실행
함수
- 함수란 하나의 특별한 목적의 작업을 수행하기 위해 독립적으로 설계된 코드의 집합니다.
함수를 사용하는 이유는 반복적인 프로그래밍을 피하고 코드를 재사용할 수 있게 해준다.
함수로 코드를 나누어 작성하면 모듈화가 되고, 가독성이 좋아지며 문제가 발생했을 때 손쉽게 유지보수를 할 수 있다.
익명함수와 람다식
- 임명함수와 람다식의 가장 큰 차이는 람다식에서는 return 키워드를 적지 않아도 값이 반환되지만 익명함수는 값을 반환하려면 return 키워드를 꼭 적어야햔다.
* 익명함수
함수에 이름이 없다.
(매개변수){동작 혹은 반환값}
* 람다식
함수를 하나의 식으로 표현한다.
(매개변수) => 동작 혹은 반환 값