2022.08.30 - [기타 학습] - [Flutter] Flutter 개념과 Dart 기본 (Flutter 입문 / Dart 기초 / Flutter 개발 환경 셋팅 윈도우)
이번에는 Dart의 기본 문법에 대해 정리해보겠다.
Dart의 데이터 타입
- Numbers (int, double)
- Strings (String)
- Booleans (bool)
- Lists (List, also known as arrays)
- Sets (Set)
- Maps (Map)
- Runes (Runes; often replaced by the characters API)
- Symbols (Symbol)
- The value null (Null)
Dart 공식문서에서 소개하는 데이터 타입은 이렇다.
Runes와 Symbols빼고는 다 익숙한 이름들이다.
Runes는 유니코드 코드 포인터를 가져오는 정수이고 Symbols는 프로그램에서 선언된 연산자 또는 식별자를 말한다.
Dart의 변수 선언
- var
var타입은 담기는 값에 따라 타입이 지정된다. 이후 다른 값이 재할당되어도 값이 담길 수 있다. 하지만 타입이 다른 값이 할당된다면 값이 담길 수 없다. (타입이 변경될 수 없다)
- Dynamic
Dynamic 타입은 Dart 언어가 가지는 가장 큰 특징이다. var타입에서는 안되었던 타입 변경이 가능하다.
- Final / Const
둘다 상수형 타입을 말한다.
Const는 compile 타임에 값이 지정되어 있어야 하고
Final은 Run 타임에 값이 지정되어도 상관없다.
Dart의 연산자
Dart에는 우리가 기본적으로 아는 사칙연산과 나머지 구하기가 있다.
또 다른 프로그래밍 언어에 있었던 여러 산술, 비교, 논리 연산자를 제공한다. 자세한건 공식문서를 참고
이외에 Dart만의 특이한 연산자들이 있어 정리해보겠다.
- ?? : null인 경우 미리 정의된 값 할당해줌 (if null)
- is / is? : 변수 타입 확인 (type test)
Dart의 클래스
Dart는 다른 객체 지향 언어와 같이 데이터를 객체화할 수 있다.
미리 정의한 속성과 메소드에 따라 여러 고유한 객체를 만들 수 있다는 것이다.
클래스와 객체에 대해 비유할때 가장 좋다고 생각되는게 바로 붕어빵틀과 붕어빵이다.
붕어빵틀이라는 클래스를 정의하고 그 붕어빵틀의 객체로 팥붕을 생성해줄 수 있다.
하지만 이렇게만 되면 계속 이 붕어빵틀 클래스는 팥붕 객체 생성용으로 밖에 사용할 수 없다.
클래스 재사용을 위해 생성자(Constructor)를 정의해준다.
붕어빵틀은 이름, 재료라는 속성을 가지고 sayName이라는 자기 이름을 출력하는 메소드를 가진 클래스가 됐다.
이 클래스는 생성자를 통해 다양한 붕어빵을 만들 수 있다.
또한 매개변수 생성자를 만들어 클래스를 정의할 수도 있는데
named param을 통해 객체를 만들면 속성의 순서를 지킬 필요도 없고 속성을 생략하고 객체를 만들 수도 있다.
참고
'기타 학습' 카테고리의 다른 글
[Flutter] Dart 문법3 (제어문/ 조건문/ 반복문) (0) | 2022.09.09 |
---|---|
[Flutter] Dart 문법 2 (상속/ 인터페이스/ Cascade Operator) (0) | 2022.09.08 |
[Flutter] Flutter와 Dart 개념 (Flutter 입문 / Flutter 개발 환경 셋팅 윈도우) (0) | 2022.08.30 |
(스크랩) 도커 (0) | 2021.11.04 |
(스크랩) 데이터 레이크 (0) | 2021.11.04 |
댓글