본문 바로가기
기타 학습

[Flutter] Dart 기본 문법 (데이터타입 / 연산자 / 변수 / 클래스)

by 비전공자 기록광 2022. 9. 3.
반응형

2022.08.30 - [기타 학습] - [Flutter] Flutter 개념과 Dart 기본 (Flutter 입문 / Dart 기초 / Flutter 개발 환경 셋팅 윈도우)

 

[Flutter] Flutter 개념과 Dart 기본 (Flutter 입문 / Dart 기초 / Flutter 개발 환경 셋팅 윈도우)

Flutter 스터디 Flus에 참여하게 됐다. 전부터 앱개발은 꼭 해보고 싶었는데 좋은 기회가 될 것 같아 기대가 된다. 좋은 정보를 공유해준 여니씨에게 무한한 감사와 사랑을...🍀 🧩 Flutte

datamoney.tistory.com

 

이번에는 Dart의 기본 문법에 대해 정리해보겠다.

 

Dart의 데이터 타입

 

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을 통해 객체를 만들면 속성의 순서를 지킬 필요도 없고 속성을 생략하고 객체를 만들 수도 있다.


참고

https://youtu.be/-O53_9Mh-Co

 

반응형

댓글