학습
Dart 자료형
Dart 자료형 — 초급
자료형
1. 도입 (왜 배워야 하는가)
Dart 프로그래밍 언어에서 자료형은 기본적인 개념이자 모든 프로그래밍의 근본적인 요소입니다. 자료형은 변수에 저장할 수 있는 데이터의 종류를 정의하며, 이를 통해 컴퓨터가 데이터를 어떻게 처리하고 저장할지를 결정합니다.
실무에서 자료형을 이해하지 못하면, 예를 들어 숫자를 문자열로 잘못 처리하여 계산 오류가 발생할 수 있습니다. 또한, 데이터베이스와의 연동 시 자료형이 맞지 않으면 오류가 발생하거나 예기치 않은 결과를 초래할 수 있습니다. 따라서 자료형을 이해하고 활용하는 것은 성공적인 프로그래밍의 기초입니다.
2. 핵심 개념 설명
Dart의 자료형은 크게 기본 자료형과 컬렉션 자료형으로 나눌 수 있습니다.
| 자료형 | 설명 | 예시 |
|---|---|---|
| int | 정수형 | 1, 42, -7 |
| double | 실수형 (부동소수점) | 3.14, -0.001 |
| String | 문자열 | "안녕하세요" |
| bool | 불리언 (참/거짓) | true, false |
| List | 리스트 (배열) | [1, 2, 3] |
| Map | 키-값 쌍의 맵 | {"name": "홍길동", "age": 30} |
비유하자면, 자료형은 우리가 사용하는 다양한 도구와 같습니다. 각 도구는 특정한 작업을 수행하도록 설계되어 있으며, 잘못된 도구를 사용할 경우 원하는 결과를 얻기 어렵습니다. 예를 들어, 나무를 자를 때 가위를 사용한다면 원하는 결과를 얻기 힘든 것과 같습니다.
3. 기본 코드 예제
다음은 Dart에서 다양한 자료형을 사용하는 기본적인 코드 예제입니다.
void main() {
int age = 25; // 정수형
double height = 1.75; // 실수형
String name = "홍길동"; // 문자열
bool isStudent = true; // 불리언
print("이름: $name, 나이: $age, 키: $height, 학생 여부: $isStudent");
}
실행 결과:
이름: 홍길동, 나이: 25, 키: 1.75, 학생 여부: true
int age = 25;:age라는 변수를 정수형으로 선언하고 25를 할당합니다.double height = 1.75;:height변수를 실수형으로 선언하고 1.75를 할당합니다.String name = "홍길동";:name변수를 문자열로 선언하고 "홍길동"을 할당합니다.bool isStudent = true;:isStudent변수를 불리언으로 선언하고 true를 할당합니다.print(...): 변수의 값을 출력합니다.- 쇼핑몰에서 장바구니를 구현할 때
- 사용자 정보 관리
- 정수형과 실수형 혼동
- 문자열과 숫자 연결 오류
- Dart의 자료형은 데이터를 정의하고 처리하는 데 필수적입니다.
- 기본 자료형에는 정수형, 실수형, 문자열, 불리언이 있습니다.
- 리스트와 맵은 데이터 컬렉션을 관리하는 데 유용합니다.
- 자료형을 잘못 사용하면 오류가 발생하거나 예기치 않은 결과가 나타날 수 있습니다.
- 다음에 학습하면 좋은 주제: Dart의 제어문 (if, for 등) 및 함수 정의.
4. 실전 활용 예제
void main() {
List<String> cart = []; // 장바구니 리스트
cart.add("사과");
cart.add("바나나");
print("장바구니: $cart");
}
- 장바구니를 리스트로 관리하여 사용자가 추가한 상품을 동적으로 처리합니다.
void main() {
Map<String, dynamic> user = {
"name": "홍길동",
"age": 30,
"isMember": true
};
print("사용자 정보: ${user['name']} - ${user['age']}세");
}
- 사용자 정보를 키-값 쌍으로 관리하여 쉽게 접근하고 수정할 수 있습니다.
5. 흔한 실수와 주의사항
- 잘못된 코드:
int a = 5;
double b = a / 2; // 오류 발생
- 올바른 코드:
double b = a.toDouble() / 2; // 정수형을 실수형으로 변환
- 잘못된 코드:
String result = "나이: " + 25; // 오류 발생
- 올바른 코드:
String result = "나이: " + 25.toString(); // 숫자를 문자열로 변환