본문 바로가기
카테고리 없음

Flutter 기초다지기 - Dart 2. 자료형

by ThisisZero 2023. 12. 14.
반응형

다트(Dart) 로고

오늘은 플러터 기초다지기를 위한 Dart 언어를 파헤쳐보도록 하겠습니다. 지난 시간에는 변수를 선언하는 방법을 알려드렸고, 이번에는 변수의 자료형태를 지정하는 방식에 대해 적어보겠습니다.

문자열을 담을 수 있는 String

문자열 담을 수 있는 String은 말 그대로 지금 작성하고 있는 단어, 문장 등을 의미합니다. 쓸 수 있는 모든 글자를 담을 수 있다고 보시면 됩니다. 문자열 지정은 따옴표(" 또는 ')를 이용해서 지정할 수 있습니다.

String a = "작심삼일 개발일기"
print(a) // 콘솔에 작심삼일 개발일기 출력

 

정수를 담을 수 있는 int

int는 정수(1,2,3,-1,-2,-3 등 소수점 자리가 없는 숫자)를 담을 수 있습니다. 앞서 언급한 String도 숫자를 문자열 형태로 담을 수 있으나, String으로 지정하기 위해서는 따옴표로 숫자를 감싸야 하고, 가장 큰 차이점은 '계산을 할 수 있다'는 점 입니다. 아래 코드는 그 예시입니다

String a = "1";
String b = "2";
print(a+b); // 콘솔창에 12 출력

int c = 1;
int d = 2;
print(c+d); // 콘솔창에 3 출력

String 변수 두개를 더하면 문자열 두개가 합쳐진 형태로 출력이 되지만, int 변수 두 개를 더하면 두 숫자를 실제로 더한 값이 나오게 됩니다.

참 또는 거짓을 담을 수 있는 bool

bool은 boolean의 약자로 프로그램에서 참(true) 또는 거짓(false)를 의미합니다. 변수를 선언하고 특정 명제를 지정하면 그것이 참인지 거짓인지를 알려주는 기능을 가지고 있습니다

bool a = 1+1 == 2;
print(a) // true를 출력

bool b = 2+2 == 5;
print(b) // false를 출력

참고로 대부분의 프로그래밍 언어에서 등호(=)를 하나만 쓰는 건 왼쪽 변수에 오른쪽 값을 대입한다는 의미이며, 두 개를 쓰면 우리가 수학에서 사용하는 '같다'는 의미를 가집니다. 일부 프로그래밍 언어에서는 등호를 세 개를 써서 자료형까지 동일하다는 의미를 담기도 합니다.

배열을 담을 수 있는 List

여러개의 데이터를 묶어서 담을 수 있는 배열을 지정하는 List 입니다. 배열은 대괄호([]) 안에 데이터를 담는 구조이며, 한 개의 데이터는 쉼표(,)로 구분합니다. 또한 여러개의 데이터 중 한개를 지정하려면 변수명 옆에 대괄호와 숫자를 적어주면 됩니다. 첫번째 데이터는 [0]부터 시작합니다. 또한 꺽쇠(<>)로 배열에 들어갈 자료형태를 결정할 수 있습니다.

List a = [1,2,3,4,5]
print(a) // [1,2,3,4,5]
print(a[0]) // 1

List<String> b = [1,2,3]
print(b) // 오류 발생

Key:Value의 형태를 가진 자료의 집합 Map

중괄호({}) 안에 Key:Value 형태의 자료를 모아두는 변수의 자료형입니다. 특정 Key의 값을 확인하려면 변수명[Key]과 같은 형태로 출력하면 됩니다

Map a = {
	name : "작심삼일 개발일기",
    post : 7
}
print(a) // {name:작심삼일 개발일기, post:7} 출력
print(a['name']) // 작심삼일 개발일기 출력

a['url'] = "dev.thisiszeroblog.com"
print(a) // {name:작심삼일 개발일기, post:7, url:dev.thisiszeroblog.com} 출력

a.remove('name') // key가 'name'인 값을 제거
print(a) // {post:7, url:dev.thisiszeroblog.com} 출력

모든 변수를 담을 수 있지만 자료형을 바꿀 수 없는 var

지난번 포스팅에서 보여드렸던 var 입니다. var로 선언한 변수는 어떤 값이든 들어갈 수 있으나, 처음으로 선언할 때의 자료형이 고정되어 자료형이 다른 값으로 지정하면 오류가 발생합니다

var a = 1
print(a) // 1 출력

a = 2
print(a) // 2 출력

a = "3"
print(a) // 오류 발생

 

모든 변수를 담고 자료형도 바꿀 수 있는 dynamic

dynamic 변수는 var와 마찬가지로 모든 자료형의 값을 지정할 수 있으며, 다른 자료형의 값으로 변경도 가능합니다

dynamic a = 1
print(a) // 1 출력

a = "하하"
print(a) // 하하 출력
반응형