본문 바로가기
컴퓨터/Dart(다트)

[Dart] 001. null값을 포함할 수 있는 변수 & dynamic vs var 변수 차이

by Tommy0927 2022. 11. 1.
반응형

 

 


1. Null 값을 포함하는 변수 설정


1) 변수 설정

 

기본적으로 변수를 설정하는 방법은 아래와 같습니다.

 

variable(변하는) 의 약자인 var는 문자열과 숫자 둘 다 변수로 설정할 수 있고,

integer(정수) 의 약자인 int는 정수를 변수로 받고, String은 문자열을,

dynamic은 문자열, 숫자 둘다 받는 변수 설정입니다.

 

(double은 실수를 받습니다)

 

 

2) 변수 값 변경하는 방법

 

 

기존에 설정된 변수의 이름만 작성하고  등호(=) 뒤에 값을 변경해주면 됩니다.

 

 

 

3) Null(변수에 그 어떤 값도 없다는 표시)가 가능한 변수타입

 

 

name2에 설정된 변수 값을 없애기 위해 null을 입력하면, 위에 스샷처럼 애러가 납니다.

설정한 모든 변수의 값을 빈 값으로 만들 수 없기 때문입니다.

 

 

변수의 값을 비어있는 null 상태로 만들려면 위에 스샷처럼 변수 선언할 때 "?" 를 입력하면 됩니다. 

 

반대로 절대 이 변수는 비워져서는 안된다고 한다면, 변수 뒤에 "!"를 넣어주면 이 변수는 항상 값을 포함해야만 합니다.

 

 


2. dynamic 변수 와 var 변수의 차이점


변수 값을 설정할 때, Dynamic과 var의 차이점은,

 

var 변수 선언 타입은 처음에 설정 된 값의 타입에 고정되어 다른 타입으로 변경할 수 없습니다

var처럼 처음 설정한 변수의 타입. 즉, 처음에 정수타입을 설정했다면 변경해도 쭉 정수타입만 넣을 수 있는 반면에,

Dynamic은 영어 뜻 그대로 처음 설정한 변수 값의 타입과 관계 없이 다른 타입으로 변경 가능합니다.

 

 

 

그러나 코드가 길어지면 헷갈릴 소지가 있기에, 이 변수의 타입이 고정되도 문제가 없다면, 변수의 타입을 적어주는게 좋습니다. 즉, 정수면 int, 문자열이면 String 이런식으로 적어야 헷갈림이 덜합니다.

 

반응형

댓글