Dart의 기본 문법에 대해 간단히 설명드리겠습니다. Dart는 JavaScript와 유사한 문법을 가지고 있으며, 강력한 정적 타입 시스템과 객체 지향 프로그래밍을 지원합니다.
1. 변수 선언
Dart에서 변수를 선언할 때는 var
, final
, const
, 또는 타입명을 사용합니다.
var
는 변수의 타입을 추론하여 결정합니다.
var name = 'John';
var age = 30;
final
은 한 번 할당되면 변경할 수 없는 변수입니다.
final cityName = 'New York';
const
는 컴파일 시 상수로 평가되는 변수입니다.
const PI = 3.14;
2. 데이터 타입
Dart는 기본적인 데이터 타입들을 제공합니다.
int
,double
: 정수 및 부동 소수점 숫자를 표현합니다.String
: 문자열을 표현합니다.bool
: 불리언 값을 표현합니다.List
,Set
,Map
: 리스트, 세트, 맵을 표현하는 컬렉션 타입입니다.dynamic
: 동적 타입을 갖는 변수를 선언할 수 있습니다.
3. 연산자
Dart에서는 다양한 연산자를 사용할 수 있습니다.
- 산술 연산자:
+
,-
,*
,/
,%
- 비교 연산자:
==
,!=
,>
,<
,>=
,<=
- 논리 연산자:
&&
,||
,!
- 할당 연산자:
=
,+=
,-=
,*=
,/=
4. 제어 구조
Dart는 조건문과 반복문을 사용하여 프로그램의 흐름을 제어합니다.
- 조건문:
if
,else if
,else
if (condition) {
// 코드 블록
} else if (anotherCondition) {
// 코드 블록
} else {
// 코드 블록
}
- 반복문:
for
,while
,do-while
for (var i = 0; i < 5; i++) {
// 코드 블록
}
while (condition) {
// 코드 블록
}
do {
// 코드 블록
} while (condition);
5. 함수
Dart에서 함수는 void
또는 반환 타입을 가질 수 있습니다.
// 반환 타입이 명시된 함수
int add(int a, int b) {
return a + b;
}
// 반환 타입이 void인 함수
void printMessage(String message) {
print(message);
}
6. 클래스와 객체 지향 프로그래밍
Dart는 클래스를 사용하여 객체 지향 프로그래밍을 지원합니다.
class Person {
String name;
int age;
// 생성자
Person(this.name, this.age);
// 메서드
void sayHello() {
print('Hello, my name is $name and I am $age years old.');
}
}
void main() {
var person = Person('Alice', 30);
person.sayHello();
}
7. 예외 처리
Dart에서 예외 처리는 try
, catch
, finally
를 사용하여 수행됩니다.
try {
// 예외가 발생할 수 있는 코드
var result = 10 ~/ 0; // Division by zero
} catch (e) {
// 예외 처리 코드
print('Exception: $e');
} finally {
// 예외 발생 여부와 관계없이 항상 실행되는 코드
print('Complete');
}
이러한 기본적인 문법 요소를 학습한 후에는 Dart의 더 고급 기능들과 함께 실제 애플리케이션 개발에 적용해 보는 것이 중요합니다. Dart 공식 문서와 다양한 예제를 통해 실습하면서 실력을 향상시킬 수 있습니다.