개발
Dart 기초 문법 정리
오늘도멋진하루
2025. 4. 18. 00:01
Dart는 Google에서 개발한 프로그래밍 언어로, 주로 Flutter 프레임워크와 함께 사용되어 모바일 앱, 웹앱, 데스크톱 애플리케이션을 개발하는 데 널리 쓰입니다. 객체지향적이고 간결하며, 문법이 JavaScript, Java와 비슷해서 다른 언어를 알고 있다면 비교적 쉽게 배울 수 있습니다. 기본 문법을 간단히 정리해 볼게요.
목차
Dart의 주요 특징
- Object-Oriented: 모든 것이 객체로 취급됩니다.
- Strongly Typed: 정적 타입 검사 지원.
- Null Safety: Null 안전성을 제공하여 NullPointerException을 방지.
- 간결함: 문법이 간단하고, 코드 작성이 쉬움.
Hello, World!
void main() {
print('Hello, World!');
}
설명:
void
: 반환값이 없는 함수.main()
: 프로그램의 시작점.print()
: 콘솔에 출력하는 함수.
변수와 데이터 타입
Dart는 var
와 타입 지정 방식
두 가지로 변수를 선언할 수 있습니다.
// 타입 명시적으로 지정
int age = 25;
double price = 19.99;
String name = 'Dart';
bool isAvailable = true;
// 타입 추론 사용
var city = 'Seoul'; // Dart가 자동으로 String 타입으로 추론
var temperature = 15.5; // double로 추론
주요 데이터 타입:
int
: 정수double
: 실수String
: 문자열bool
: 논리값 (true/false)List
: 배열Map
: 키-값 쌍dynamic
: 어떤 타입이든 가질 수 있음
조건문과 반복문
Dart의 조건문과 반복문은 다른 프로그래밍 언어와 비슷합니다.
조건문
void main() {
int number = 10;
if (number > 0) {
print('양수입니다.');
} else if (number < 0) {
print('음수입니다.');
} else {
print('0입니다.');
}
}
반복문
void main() {
// for 반복문
for (int i = 0; i < 5; i++) {
print('반복: $i');
}
// while 반복문
int count = 0;
while (count < 3) {
print('카운트: $count');
count++;
}
// do-while 반복문
int num = 0;
do {
print('숫자: $num');
num++;
} while (num < 2);
}
함수(Function)
Dart에서 함수는 void
(반환값 없음) 또는 특정 반환 타입을 가지며 정의됩니다.
// 반환값 없는 함수
void sayHello() {
print('Hello!');
}
// 매개변수와 반환값 있는 함수
int add(int a, int b) {
return a + b;
}
void main() {
sayHello();
int result = add(5, 7);
print('합계: $result');
}
클래스와 객체
Dart는 객체지향 언어이므로 클래스를 사용해 객체를 정의하고 활용할 수 있습니다.
class Person {
String name;
int age;
// 생성자
Person(this.name, this.age);
// 메서드
void introduce() {
print('안녕하세요! 저는 $name이고, 나이는 $age살입니다.');
}
}
void main() {
var person = Person('철수', 25);
person.introduce(); // 출력: 안녕하세요! 저는 철수이고, 나이는 25살입니다.
}
null safety
Dart에서는 변수의 null
값을 허용하지 않으려면 ?
를 사용합니다.
String? nullableName; // null을 허용
nullableName = null;
String nonNullableName = 'Dart'; // null을 허용하지 않음
// nonNullableName = null; // 에러 발생
위의 내용을 시작점으로, 실제 코드를 작성해 보며 익숙해지는게 중요합니다.
Dart 심화 문법
Dart 심화 과정으로 가봅시다! Dart를 더 깊게 이해하고 활용할 수 있도록 객체지향 프로그래밍(OOP), 고급 컬렉션, 비동기 프로그래밍, 제네릭, 그리고 메타프로그래밍(annotations)을 다뤄보겠습니다.
life.dewy-morning.com