Flutter/Dart

[DART] Dart 기본 문법 익히기

연화 2025. 1. 3. 00:06

 

안녕하세요. 이번 포스팅에서는 Google에서 개발한 프로그래밍 언어 Dart의 기본 문법을 소개해 드리려고 합니다.

Dart는 Flutter를 활용한 앱 개발에서 주로 사용되며, 간결한 문법과 객체지향 프로그래밍 지원으로 초보자부터 숙련자까지 모두에게 사랑받는 언어입니다.

그럼, Dart의 세계로 들어가 보겠습니다! 🚀

 

 

1. Dart의 시작 : main() 함수

void main() {
  print("Hello, Dart!"); // 콘솔에 출력
}

Dart 코드의 실행은 항상 main() 함수에서 시작됩니다.

 

2. 변수와 데이터 타입

변수란?

값을 저장할 수 있는 메모리 공간
즉 값을 저장해두고 이후 재사용하거나 변경할 수 있도록 메모리 공간을 이름으로 할당한 개념

데이터 타입이란?

메모리 공간에 들어간 값의 형태

 

Dart에서 자주 사용하는 데이터 타입은 다음과 같습니다

void main() {
  int n1 = 10;          // 정수형
  double d1 = 10.1;     // 실수형
  bool b1 = true;       // 논리형
  String s1 = '홍길동'; // 문자열 (홑따옴표 권장)
}

 

3. 메모리 구조

Dart는 프로그램의 메모리를 다음 세 가지 영역으로 나눕니다:

  • 스택(Stack): 지역 변수와 매개변수 저장
  • 힙(Heap): new 연산자나 리터럴로 선언된 값 저장
  • 정적 영역(Static): 전역 변수, 클래스의 static 변수, 상수 등이 저장

이 구조를 이해하면 효율적인 메모리 관리를 할 수 있습니다.

 

4. 타입 확인 : runtimeType

변수의 타입은 runtimeType 속성을 통해 확인할 수 있습니다.

void main() {
  int n1 = 10;
  double d1 = 10.1;
  bool b1 = true;
  String s1 = '홍길동';

  print('정수 : ${n1.runtimeType}');
  print('실수 : ${d1.runtimeType}');
  print('논리형 : ${b1.runtimeType}');
  print('문자열 : ${s1.runtimeType}');
}

💡 타입 확인이 왜 필요한가요?

  • 디버깅 시 예상치 못한 타입의 값이 들어오지 않았는지 확인 가능
  • 프로그램의 안정성을 높임

 

5. 타입 추론과 동적 타입

Dart는 var와 dynamic 키워드를 사용해 변수의 타입을 자동으로 추론합니다.

void main() {
  var n1 = 1;       // 정수로 추론
  var s1 = 'Dart';  // 문자열로 추론
  print(n1.runtimeType); // int
  print(s1.runtimeType); // String
}

var와 dynamic의 차이

  • var: 선언 시 타입이 고정되어 이후 변경 불가능
     
var n1 = 10;
// n1 = 20.5; 오류 발생
  • dynamic: 선언 후 다른 타입으로 변경 가능
dynamic value = 100;
value = 'Dart'; // 타입 변경 가능

 

6. 상수: final 과 const

Dart에서는 변경 불가능한 값을 정의할 때 final과 const 키워드를 사용합니다.

final : 런타임 상수
실행 중 값이 할당되고 이후 변경 불가능

final int n1 = 10;
// n1 = 100; 오류 발생

const : 컴파일 타임 상수
컴파일 시점에 값이 확정되고 변경 불가능

const double d1 = 102.1;
// d1 = 20.1; 오류 발생

 

 

art는 간결하면서도 강력한 문법을 제공하며, 다양한 데이터 타입과 기능을 통해 생산성을 높여 줍니다. 이번 포스팅에서는 Dart의 기본 문법을 간단히 살펴보았는데요, 앞으로 Dart와 Flutter에 대해 더 깊이 알아보도록 하겠습니다.

다음 포스팅에서는 Dart 연산자에 대해 다룰 예정입니다. Flutter 개발에 관심이 있으시다면 다음 포스팅도 확인해 주세요!

 

 

아래의 문헌을 참고하여 작성된 포스팅입니다.
최주호, 김근호, 이지원(공저) 만들면서 배우는 플러터 앱 프로그래밍』, 앤써북, 2023.