개인공부/flutter

(작성중) [인프런 강의] Dart #1 기본기

유지인 2022. 4. 6. 06:59

 

[환경구성]

OS: Mac OS Monterey

ide: dartpad.dev

강의명: [코드팩토리] [입문] Dart 언어 4시간만에 완전정복

 

Dart 라는 언어를 사용할때,

1. 안드로이드 스튜디오

2. dartpad.dev

위 두가지 ide 환경에서 개발을 진행할 수 있는데, 강의를 따라가기 위하여 해당 포스팅은 [ dartpad.dev ] 를 사용하여 진행함

 

Dart 언어는 Java 와 동일하게, 구문이 끝나는 위치에 세미콜론(;)을 삽입 해주어야 한다.

 

먼저 모든 프로그래밍의 시작을 여는 " Hello World " 를 출력해 본다.

 

모든 프로그래밍의 시작 "Hello World"

 

1. 변수(Variable) 선언 하는 방법

JavaScript 와 비슷한 형식의 선언

Variable의 앞글자를 따와 [ var ] 을 사용하여 변수를 선언할 수 있다.

변수 선언의 방식은 JavaScript의 형식과 비슷하게 형을 지정하지 않고 var형을 사용하여, 삽입될 대상을 선언하여 주면 된다.

 

Dart 언어의 절차적 실행

JavaScript와 동일하게 변수는 겹치지 않는 이름으로 여러개 생성이 가능하고

dartpad.dev 화면 내, console창에 출력된 출력문을 확인해보면 변수 선언의 순서대로 [ 코드 팩토리, 레드 벨젯, 플러터 프로그래밍 ] 이

출력되어 있는데, 해당 출력문의 내용과 같이 코드는 위에서 아래로 절차적으로 실행이 이루어진다는 것을 알 수 있다.

 

1-1. 변수 타입

- 정수형 (int)

기본적인 int형 변수 선언

변수 선언시, 싱글 쿼터('')를 붙이게 될 경우 해당 변수는 int(정수형)이 아니라 문자(char)으로 받게 되므로 위 화면과도 같이 일반 정수타입으로 변수 선언을 하여야 한다

int형 변수 선언시 싱글쿼터로 값을 받을 경우 발생한 에러 화면

 

Dart 언어는 여타 다른 프로그래밍 언어와 비슷하게

기본 연산 [ +(더하기), -(빼기), /(나누기), *(곱하기) ] 을 지원한다.

정수형의 연산

 

1-2. 실수(double)

실수(double)형의 기본적인 연산

정수형(int)형과 동일하게 변수 선언후, 기본적인 연산이 가능하다.

정수형과 실수형의 가장 큰 차이는, 실수형은 소수점의 표현이 가능하다는 점이다.

 

1-3. Boolean

Boolean 타입은, True & False의 값을 가지는 참조형 변수 이다.

해당 값은 String의 값을 가지는 것이 아닌, Console창에 출력된 내용 그대로 True 와 False를 가려낼 수 있는 변수 이다.

 

1-4. String 타입

String 타입도 다른 변수들과 동일하게 [ 형 선언 후 변수 이름 = 초기 값 ] 형식으로 선언을 할 수 있다

주의 할 점은 String 타입은 맨 첫글자가 대문자 이다

 

 

String 타입도 더하기(+) 연산이 가능한데, 해당 더하기는 정수형 더하기와 같이 값이 더해지는 것이 아닌 문자열이 합쳐진다

해당 부분에 대한 확인을 Console창에서 확인이 가능하다

 

 

 

 

1-5. var 변수 사용 이유

var 변수 선언의 경우, 우측에 삽입되는 대상의 데이터 타입에 따라 정의가 이루어지는데

해당 부분의 확인 방법은, var 형으로 선언된 변수의 참조 함수에 runtimeType 이라는 함수가 있는데

해당 함수는 코드 실행시 해당 값이 어떤 형으로 선언되어 있는지 확인 할 수 있는 함수이다

동일하게 name3 로 선언된 var변수는 현재 Console 내 String으로 표기된 것을 확인 할 수 있다

 

${}을 사용하여 출력

String 변수는 기본적인 변수 사용으로 출력을 할 수도 있지만,

${변수명} 혹은 $변수명 을 사용하여 출력할 수도 있다

 

변수를 코드로 인식시켜 사용하는 법

${} 사용시, 중괄호({}) 없이 사용된 String 변수는 .runtimType 과도 같은 호출 함수를 사용할 수 없다

위 이미지와도 같이 ${} 로 감싼 String 변수에 참조하여 해당 함수를 호출하여 사용할 수 있다

 

1-6. dynamic 타입

var형 변수의 경우, 해당 변수는 처음 사용된 자료형으로 fix가 되는 반면

dynamic 변수의 경우는 위 사진과도 같이 처음 String으로 선언된 변수가 int 타입으로 변경이 가능한 것을 볼 수 있다

 

 

2. nullable & non-nullable

 

기본적으로 선언된 변수들은 null 값을 받지 못한다

하지만 위 사진과도 같이 변수 선언시, 변수형 뒤에 '?'을 삽입하여 해당 변수가 null을 받을 수 있도록 선언 할 수 있다

 

 

null을 허용하지 않는 구문

변수 뒤에 느낌표를 붙이게 될 경우, null을 허용하지 않는 변수로 사용이 가능하다

 

 

3. final

 

선언된 변수 앞 변수형의 앞에 사용을 하며, 해당 final을 사용하여 선언된 변수는 이후 변경될 수 없다

 

4. const

const & final 모두 변수형 생략 가능

 

4-1.dayTime

final 과 const의 차이는, 

final 의 경우, 현재 삽입되는 값이 어떤한 값이던 상관이 없는 반면

const 의 경우, 현재 삽입되는 값이 빌드되어 '0101010' 즉, 기계어로 어떠한 값을 가지고 있는지 알고 있어야 사용이 가능함

 

5. Operator

 

 

6. null 조건 Operator

변수가 null 일 경우, 뒤에 선언된 값인 3.0으로 변경됨

 

7. 값을 서로 비교하는 Operator

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

[출처]

 

[무료] [코드팩토리] [입문] Dart 언어 4시간만에 완전정복 - 인프런 | 강의

이 강의를 통해 Dart 언어를 배우면 Flutter를 시작할 수 있을 정도의 수준으로의 업그레이드가 가능합니다!, - 강의 소개 | 인프런...

www.inflearn.com