본문 바로가기
개발

Dart 기초 문법 정리

by 오늘도멋진하루 2025. 4. 18.

 

 

 

Dart 기초 문법 정리

 

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

 

 

'개발' 카테고리의 다른 글

알고리즘 정리하는 시간 (분류, 종류)  (0) 2025.04.19
파이썬으로 시간복잡도를 알아보자  (0) 2025.04.18
Dart Extension (확장 메서드) 정리  (0) 2025.04.18
Dart 심화 문법  (0) 2025.04.18