🚧 해당 게시글은 FastCampus의 15개 프로젝트로 실무까지 끝내는 Dart & Flutter 앱 개발 강의를 기반으로 작성되었습니다.
강의 링크 👉 https://fastcampus.co.kr/dev_online_dartflutter
// 타입 변수명;
string testVariable = "저는 테스트 변수예요."; // 선언시
testVariable = "저는 값이 변경되었어요."; // 값 변경시
특정 데이터(값)을 담아두는 그릇
해당 변수들은 기본적으로 생성과 동시에 타입을 정해 선언되며 선언 시에 적용된 타입과 같은 값을 할당할 수 있습니다.
변수는 값이 할당된 후에도 수정할 수 있는 것이 특징입니다.
다트에서 타입은 꼭 정의하지 않아도 되며
해당 미정의 가변형을 위한 키워드들도 존재하지만 프로그래밍의 특성상 타입이 명확해야 추후 코드 관리와 협업에 더욱 용이합니다.
데이터의 유형을 이야기하며 기본형, 자료형, 가변형 등으로 나뉘며 해당 글에서는 기초적인 세 가지 유형의 타입에 관하여 정리합니다.
String name = 'mirimhee';
String sentence = "Hi, friend!";
문자열을 나타내는 데이터 타입.
작은 타옴표 ( ‘ ’ ) 혹은 큰따옴표 ( “ “ )로 문자열을 작성할 수 있습니다.
int age = 99;
int minusNumber = -1;
정수를 나타내는 데이터 타입.
double piValue = 3.14;
소수점 숫자를 나타내는 데이터 타입.
소수 부분을 포함하는 숫자를 표현할 수 있습니다.
// nullableString은 null을 가질 수 있음
String? nullableString;
// nullableBool에 직접 null 할당
bool? nullableBool = null;
값이 존재하지 않음을 나타내는 타입.
변수에 아무 값도 할당하지 않거나 변수를 초기화하지 않았을 때 사용됩니다.
// List : List<타입>
int<String> newList = [1, 2, 3, 4, 5];
// 리스트에 "신규 값" 추가 => ["신규 값"]
newList.add(5);
// 리스트에서 "신규 값" 삭제 => []
newList.remove(5);
// newList에서 첫번째 숫서인 값을 가져와 element는 1이 됩니다.
int element = newList[0];
순서가 있는 데이터 컬렉션 타입, 동일한 타입의 요소를 저장합니다.
인덱스를 사용하여 개별 요소에 액세스할 수 있습니다.
// Set : Set<타입>
Set<String> uniqueNames = {'A', 'B', 'A'};
// 중복된 요소가 자동으로 제거
// uniqueNames에는 {'A', 'B'}만 저장됩니다.
// 요소 추가 => {'A', 'B', 'C'}
uniqueNames.add('C');
// 요소 제거 => { 'B', 'C'}
uniqueNames.remove('A');
순서가 없고 중복된 요소가 허용되지 않는 데이터 컬렉션 타입입니다.
// Map : Map<키 타입, 값 타입>
Map<String, int> scores = {
'A': 95,
'B': 85,
'C': 75,
};
// 새로운 키-값 추가
scores['D'] = 65;
// 특정 키에 대한 값 조회
// score는 65가 됩니다.
int score = scores['D'];
// 키-값 쌍 제거
scores.remove('C');
키-값 쌍을 저장하는 데이터 구조 타입, 각 키는 고유해야 합니다.
특정 키를 사용하여 해당 키에 연결된 값을 검색할 수 있습니다.
// var
// String 타입 부여
var newVariable = "새로운 변수";
// 같은 String 값 할당시 에러 X
newVariable = "새롭게 값 할당";
// 처음 할당한 String 타입이 아닌 값이므로 에러 발생
newVariable = false;
최초 부여된 타입을 고정으로 사용하는 타입으로, 최초 타입 아닌 값을 할당 시 에러가 발생합니다.
// dynamic
// String 타입 부여
dynamic dynamicVariable = "새로운 다이나믹";
// int 값 할당에도 에러 X
dynamicVariable = 1;
// bool 값 할당에도 에러 X
dynamicVariable = false;
타입이 코드 진행 중 언제라도 타입 변환 가능한 타입입니다.
값의 수정이 가능한 변수 외로는 한 번 할당된 후 바뀌지 않는 값인 상수가 존재합니다.
Dart에서는 const와 final 두 가지의 상수 타입이 존재하며 두 가지 타입의 차이가 궁금하시다면 아래 링크를 참조해 주시면 감사하겠습니다.