안녕하세요!
오늘은 Dart 기본 문법 첫번째 포스팅 가져왔습니다..!!
다트 문법의 가장 기본인 변수와 데이터에 대해 정리해봤는데요,
가장 기초적인 내용들이라 아마 이 부분을 이해하시면
코드가 어떻게 작성되고 상관 관계를 가지는 지 이해도가 높아지실 것 같아요!
1. 변수
- 데이터를 저장하기 위한 공간(상자)
- 변수에 데이터를 담고, 필요할 때 데이터를 꺼내서 쓸 수 있음
- 변수에 데이터를 저장하면, 컴퓨터 메모리에 데이터가 저장
- 변수에 이름을 붙여야 함
- 컴퓨터는 동일 이름을 취급하지 x
- 프로그램 실행 중에 값 변경 가능 변수와 형태
- 타입 변수 이름 = 값; / 형태: int age = 30;
- var 변수 이름 = 값; / 타입을 따로 지정해 주지 않아도 var가 알아서 추론 / 형태: var age = 30;
- 프로그램 실행 중에 값 변경이 불가능한 변수와 형태
- 상수라고도 부름 -> 변하지 않는 변수
- 형태: final 타입 변수 이름 = 값; / 타입 추론이 가능하기 때문에 타입은 생략 가능
- 용도: 프로그램 실행 중에 값이 결정되는 경우 ex. 현재 시간
- 프로그램 실행(런타임) 시점에 값이 결정될 수 있음
- 예: 사용자 입력, 함수 실행 결과 등
- 형태: const 타입 변수 이름 = 값; / 타입 추론이 가능하기 때문에 타입은 생략 가능
- 용도: 프로그램 실행 전이든 실행 후든 상관 없이 항상 값이 고정인 경우
- 컴파일 시간에 값이 확정되어 있어야 함, 완전한 진짜 상수 -> 절대 변하지 않는 값에 사용
- 컴파일 전에 값이 정해져 있어야 하므로 날짜, 사용자 입력 같은 건 const로 못 만듦
- 정리하자면,
- final = 택배 도착하면 문 앞에 그대로 두는 상황 -> 위치는 한번 정하면 바꿀 수 없음
- const = 집에 박아버린 못 -> 절대 못 움직임, 프로그램 시작 전부터 고정
- 변수의 값을 변경하면 오류가 남
- final String name = 'Bob';
- name = 'Alice'; // 오류 발생!
- late 변수
- 용도: 변수를 선언할 당시에는 넣어줄 값을 아직 특정하기 어려운 경우
- 선언 후에 초기화되는 NonNullable한 변수
- 변수가 사용되는 시점에 초기화(지연 초기화) 되는 변수
- late 타입 변수 이름; / 타입 생략 불가능!
- 컴퓨터는 null(값이 없음)을 싫어하기 때문에, 대신 사용
* 초기화란?
: 프로그래밍에서 변수를 만들기만 하면 아직 값이 없음
그래서 그 변수에 처음으로 어떤 값을 넣는 과정을 초기화라고 함!
2. 데이터 타입
- 변수에 할당할 수 있는 값의 형태
- 변수가 데이터를 담는 상자라면, 데이터 타입은 그 상자가 담을 수 있는 데이터의 형태
- 종류
- 숫자형(Numbers)
- int / 형태: int 변수 이름 = 값; -> 정수 유형
- double / 형태: double 변수 이름 = 값; -> 소수 유형
- num / 형태: num 변수 이름 = 값; -> 정수, 소수 모든 숫자 유형, int와 double의 상위 클래스
- 문자형(String)
- String / 형태: String 변수 이름 = '문자'; -> '' or "" 둘 다 가능
- $식별자 형태, ${표현식}
- 작은 따옴표나 큰 따옴표 3개를 이러 붙인 형태를 통해 여러 줄의 문자열도 가능
- ''' 이렇게 여러 줄의 문자열 만들 수 있음 '''
- 불리언형(Booleans)
- bool / 형태: bool 변수 이름 = 값; -> true or false로 판별할 수 있는 유형
- 숫자형(Numbers)
- null
- 값이 없다는 것을 알려주기 위해 사용
- null을 허용하는 변수(Nullable 한 변수)는 타입 뒤에 ?를 붙이면 됨
- null을 허용하는 변수는 초기값이 설정되지 않으면 기본적으로 null을 가짐
오늘의 핵심 정리
즉 타입은 변수에 할당하는 값의 형태(문자, 숫자 등)를 의미하고,
변수는 데이터를 저장하기 위한 공간(상자)이다.
형태는 타입 변수 이름=값; 의 형태로 작성한다.
만일, 값이 없는 경우에는 null로 표시되며
컴퓨터는 값이 없는 경우를 굉장히 싫어하기 때문에 ?를 사용하여 오류를 방지한다.
'플러터 앱 개발' 카테고리의 다른 글
| Chapter 4. Dart 기본 문법 C - 조건문과 반복문+주석 (0) | 2025.12.08 |
|---|---|
| Chapter 3. Dart 기본 문법 B - 연산자 (0) | 2025.12.08 |
| [Dart 기초] 개인 과제 트러블 슈팅 (0) | 2025.12.04 |
| Chapter 1. Dart 개발 환경 구성 (3) | 2025.12.01 |
| Chapter 0. 프로그래밍 언어의 종류 (0) | 2025.12.01 |