728x90
Dart 기초 개념 정리 – 초보자를 위한 필수 가이드
Flutter 개발을 시작하려면 Dart에 대한 기본적인 이해가 필요합니다. 이번 포스팅에서는 Dart의 핵심 개념을 정리하고, 중요한 내용은 코드 예제와 함께 설명하겠습니다.
1. Dart 실행 환경
Dart 코드를 실행하려면 다음과 같은 환경이 필요합니다.
- Dart SDK 설치: 직접 Dart를 설치할 수도 있지만, Flutter를 설치하면 Dart SDK도 함께 포함됩니다.
- DartPad 사용: 별도의 설치 없이 DartPad에서 바로 실행 가능
Dart에서 실행되는 기본적인 코드 구조는 다음과 같습니다.
void main() {
print("Hello, Dart!");
}
main() 함수가 실행의 시작점이며, print() 함수로 출력을 할 수 있습니다.
2. 변수와 데이터 타입
Dart는 정적 타입 언어이며, 다양한 변수 선언 방법을 제공합니다.
변수 선언 방식
var name = "Dart"; // 타입 추론
String language = "Dart"; // 명시적 선언
final과 const의 차이
final과 const 모두 한 번 할당된 값을 변경할 수 없지만, 차이점이 있습니다.
final time = DateTime.now(); // 런타임 할당 가능
const pi = 3.14; // 컴파일 타임 할당만 가능
- final: 실행 중(runtime)에 값을 할당할 수 있음
- const: 반드시 컴파일 타임에 결정되는 상수 값만 가능
3. 리스트(List), 맵(Map), 세트(Set)
리스트(List)
List<int> numbers = [1, 2, 3];
numbers.add(4); // 요소 추가 가능
맵(Map)
Map<String, int> scores = {
"철수": 90,
"영희": 85,
};
print(scores["철수"]); // 90
세트(Set)
중복을 허용하지 않는 컬렉션
Set<int> uniqueNumbers = {1, 2, 3, 3};
print(uniqueNumbers); // {1, 2, 3}
4. Null Safety (널 안정성)
Dart는 null 값을 다루는 방식을 엄격하게 관리합니다.
Null 허용 여부
String? nullableName; // null 허용
nullableName = "Dart";
print(nullableName?.length); // null이면 실행되지 않음
기본값 할당 (?? 연산자)
String? name;
print(name ?? "기본값");
5. 함수와 선택적 매개변수
기본적인 함수 선언
double add(double a, double b) {
return a + b;
}
print(add(2.5, 3.5)); // 6.0
선택적 매개변수
- 위치 기반 선택적 매개변수 ([] 사용)
String greet(String name, [String? title]) {
return title != null ? "$title $name" : "Hello $name";
}
print(greet("철수")); // Hello 철수
print(greet("영희", "Dr.")); // Dr. 영희
- 이름 기반 선택적 매개변수 ({} 사용)
String greet2(String name, {String title = "Mr."}) {
return "$title $name";
}
print(greet2("철수")); // Mr. 철수
print(greet2("영희", title: "Dr.")); // Dr. 영희
6. 조건문과 반복문
if-else 문
int score = 85;
if (score >= 90) {
print("A 학점");
} else if (score >= 80) {
print("B 학점");
} else {
print("C 학점");
}
switch 문
String grade = "A";
switch (grade) {
case "A":
print("우수");
break;
case "B":
print("좋음");
break;
default:
print("보통");
}
for 문
for (int i = 0; i < 5; i++) {
print("반복 $i");
}
7. 람다식(익명 함수)과 화살표 함수
Dart에서는 =>를 사용하여 간결한 함수 표현이 가능합니다.
int multiply(int a, int b) => a * b;
print(multiply(3, 4)); // 12
8. 문자열 보간법 (String Interpolation)
변수를 문자열에 쉽게 삽입할 수 있습니다.
String name = "Dart";
print("Hello, $name"); // Hello, Dart
복잡한 표현식을 포함하려면 {}를 사용합니다.
print("2 + 3 = ${2 + 3}"); // 2 + 3 = 5
마무리
Dart는 타입 안정성과 null 안전성, 편리한 문법을 제공하여 개발 생산성을 높여줍니다. 이번 포스팅에서는 Dart의 기초 개념을 정리했으며, 이를 활용하면 Flutter 개발을 더욱 쉽게 진행할 수 있습니다.
앞으로 비동기 프로그래밍, OOP, 함수형 프로그래밍 개념도 다뤄볼 예정이니 기대해 주세요! 🚀
728x90
'강의노트 > [코드팩토리] [초급] Flutter 3.0 앱 개발' 카테고리의 다른 글
3강 함수형 프로그래밍 (FP) (0) | 2025.03.19 |
---|---|
2강 Dart 객체지향 프로그래밍(OOP) (0) | 2025.03.19 |
댓글