DartPad로 배우는 Dart 변수와 데이터 타입: int, double, String, bool
Dart는 Flutter 앱 개발의 핵심 언어로, 간결한 문법과 강력한 타입 시스템을 제공합니다. 이 포스트에서는 초보자를 위해 DartPad를 사용해 Dart의 변수 선언과 기본 데이터 타입(int, double, String, bool)을 배우는 방법을 안내합니다. DartPad는 설치 없이 브라우저에서 코드를 실행할 수 있어 초보자에게 최적입니다. 2025년 5월 기준 최신 Dart 3.x 버전을 기반으로 하며, Flutter 개발의 기초를 다룹니다.
변수란?
변수는 데이터를 저장하는 "그릇"입니다. Dart에서는 변수를 선언할 때 데이터 타입을 명시하거나 타입 추론을 사용할 수 있습니다. 주요 변수 선언 키워드는 다음과 같습니다:
- var: 타입을 자동으로 추론합니다.
- final: 한 번만 값을 설정할 수 있는 상수입니다.
- const: 컴파일 시 결정되는 상수입니다.
- 명시적 타입: int, String 등 타입을 직접 지정합니다.
기본 데이터 타입
Dart는 다양한 데이터 타입을 제공하지만, 초보자에게 중요한 기본 타입은 다음과 같습니다:
- int: 정수(예: 1, -42, 0)
- double: 부동소수점 실수(예: 3.14, -0.001)
- String: 텍스트(예: "Hello", 'Dart')
- bool: 참/거짓(true, false)
DartPad에서 변수와 데이터 타입 실습
DartPad는 설치가 필요 없으며, 브라우저에서 즉시 코드를 작성하고 실행할 수 있습니다. Flutter 개발을 위한 Dart 기초를 배우기에 최적입니다.
예제 코드
DartPad에 접속해 아래 코드를 왼쪽 코드 창에 붙여넣고, 오른쪽 상단의 "Run" 버튼을 클릭해 보세요:
void main() {
// int: 정수
int age = 25;
print('Age: $age');
// double: 실수
double height = 1.75;
print('Height: $height meters');
// String: 텍스트
String name = 'Alice';
print('Name: $name');
// bool: 참/거짓
bool isStudent = true;
print('Is student? $isStudent');
// var: 타입 추론
var score = 95;
print('Score: $score');
// null 허용 변수
String? nickname = null;
print('Nickname: ${nickname ?? "None"}');
// final: 한 번 설정 후 변경 불가
final double pi = 3.14159;
print('Pi: $pi');
// const: 컴파일 시 상수
const String appName = 'MyApp';
print('App Name: $appName');
}
출력 결과 (DartPad 하단 콘솔에서 확인):
Age: 25 Height: 1.75 meters Name: Alice Is student? true Score: 95 Nickname: None Pi: 3.14159 App Name: MyApp
코드 설명:
int age
: 25를 저장하는 정수 변수.double height
: 1.75를 저장하는 실수 변수.String name
: "Alice"를 저장하는 텍스트 변수.bool isStudent
: true를 저장하는 논리 변수.var score
: 타입 추론으로 int로 결정.String? nickname
: null을 허용하며, ?? 연산자로 null일 때 기본값("None") 출력.final pi
: 변경 불가능한 실수 상수.const appName
: 컴파일 시 고정된 문자열 상수.
데이터 타입 활용 팁
1. 문자열 보간법
Dart에서는 $변수 또는 ${표현식}을 사용해 문자열에 값을 쉽게 삽입합니다. DartPad에서 다음 코드를 실행해 보세요:
void main() {
String name = 'Bob';
int age = 30;
print('Hello, $name! You are $age years old.');
}
출력: Hello, Bob! You are 30 years old.
2. 타입 변환
타입 간 변환은 메서드를 사용합니다:
void main() {
String number = '42';
int parsedNumber = int.parse(number); // String → int
double parsedDouble = double.parse('3.14'); // String → double
String text = 100.toString(); // int → String
print('Parsed: $parsedNumber, $parsedDouble, $text');
}
출력: Parsed: 42, 3.14, 100
3. Null Safety
Dart 3.x의 Null Safety는 런타임 오류를 줄입니다. null을 허용하지 않는 변수는 초기화가 필수입니다:
void main() {
// String email; // 오류: Non-nullable 변수는 초기화해야 함
String? optionalEmail; // OK: null 허용
print(optionalEmail ?? 'No email');
}
출력: No email
Flutter와의 연결
Flutter에서는 이 데이터 타입들이 UI와 상태 관리에 자주 사용됩니다:
- int, double: 위젯 크기, 애니메이션 값
- String: 텍스트 위젯 콘텐츠
- bool: 상태 플래그(예: 버튼 활성화 여부)
Flutter 예제:
Text('Welcome, $name! Age: $age')
실습 과제
DartPad에서 다음을 구현해 보세요:
- 자신의 이름(String), 나이(int), 키(double), 학생 여부(bool)를 변수로 선언.
- print로 각 변수를 출력.
- var와 final을 사용해 추가 변수를 선언하고 차이점 확인.
- 문자열 보간법으로 "My name is [name], and I am [age] years old." 출력.
문제 해결 팁
- 코드가 실행되지 않을 때: DartPad의 코드가 void main() 함수 안에 있는지 확인하세요.
- 출력이 안 보일 때: DartPad 하단 콘솔 창이 열려 있는지 확인하세요.
- 타입 오류: int.parse나 toString 사용 시 입력값이 올바른지 확인하세요.
추천 자료:
- Dart 공식 사이트
- Flutter 공식 사이트
- DartPad - 온라인 Dart 코드 테스트