Flutter (앱 개발)/Dart 코드 첨부 파일

[Dart 언어 기초 문법] Dart란? 개념과 특징 한눈에 보기 (명령 프롬프트 첨부 파일 제공)

Ize𓆜 2025. 2. 20. 22:45
728x90
728x90

 

 

더 많은 정보, 혹은


순서대로 포스팅을 보고 싶다면


아래 노션을 확인해주세요. 

 

 

https://mongmung-i.notion.site/19f9b1e2cdaa80a984ade6141a87fd29?pvs=4

 

창업 트랙 사전 캠프 𓆲 | Notion

Copyright © Ryussi Studio All rights reserved

mongmung-i.notion.site

 


Ⅰ. 서론: Dart란 무엇인가? 🤔

 

 

Flutter 개발을 시작하려면 

먼저 Dart 언어의 개념과 특징을 

이해하는 것이 중요합니다.

 


Dart는 Google에서 개발한 언어로, 

Flutter의 기본 프로그래밍 언어로 사용됩니다.

 


이번 포스팅에서는

 Dart가 어떤 언어인지, 

특징과 장점을 중심으로 

살펴보겠습니다.

 


 

Dart의 개요 및 개발 배경

 

 

Dart는 Google에서 개발한 프로그래밍 언어
웹, 모바일, 서버, 데스크톱 등 다양한 환경에서 실행 가능
✅ 2011년 발표 이후, 2017년부터 Flutter의 기본 언어로 채택됨

즉, Dart는 단순한 웹 언어가 아니라, 강력한 크로스플랫폼 개발 언어이다 ! 🚀

 


왜 Flutter에서 Dart를 사용할까?

 

 

 

Flutter와 완벽한 호환성Dart는 Flutter 전용 언어처럼 최적화됨
빠른 실행 속도AOT 컴파일을 지원하여 네이티브급 성능
Hot Reload 지원Flutter 개발에서 빠른 코드 반영 가능

Flutter가 강력한 이유 중 하나는 바로 Dart 덕분! 🎯


Ⅱ. 본론: Dart의 주요 특징과 장점 🛠️

 

  Step 1: 객체지향 프로그래밍(OOP) 지원

 

✅ Dart는 **객체지향 프로그래밍(OOP)**을 기반으로 함
클래스(Class), 상속(Inheritance), 추상 클래스(Abstract class) 등을 제공
Mixins(믹스인) 기능으로 다중 상속과 유사한 기능 구현 가능

 

🔹 Dart의 간단한 OOP 예제

class Car {
  String brand;
  int speed;

  Car(this.brand, this.speed);

  void drive() {
    print('$brand가 시속 $speed km로 달립니다.');
  }
}

void main() {
  var myCar = Car('Tesla', 120);
  myCar.drive();
}

 

class Car {.txt
0.00MB

 

 

🔹 DartPad에서 적용하면 다음과 같이 출력됩니다. 

 

DartPad

 

DartPad

 

dartpad.dev

Dart는 객체지향 언어로, 클래스를 쉽게 활용 가능! 🚀

 


  Step 2: Just-In-Time (JIT) & Ahead-Of-Time (AOT) 컴파일

 

 

 

JIT(Just-In-Time) 컴파일 → 개발 중 빠른 실행 (Hot Reload 지원)
AOT(Ahead-Of-Time) 컴파일 → 앱 배포 시 네이티브 코드로 변환하여 성능 향상

Flutter 개발 중에는 JIT 컴파일을 사용하고, 실제 앱 배포 시 AOT로 최적화됨! 🔥


Step 3: Null Safety(널 안전성) 지원

 

Dart는 Null Safety를 제공하여 Null 관련 오류를 방지함
null 값을 가질 수 있는 변수와 가질 수 없는 변수를 명확하게 구분

 

🔹 Dart의 Null Safety 예제

String? nullableText; // null 값을 가질 수 있음
String nonNullableText = 'Hello'; // null 값을 가질 수 없음

void main() {
  print(nullableText); // 출력: null
  print(nonNullableText); // 출력: Hello
}

 

String.txt
0.00MB

 

 

🔹 DartPad에서 적용하면 다음과 같이 출력됩니다. 

 

🚨 Null Safety를 지원하면 앱 실행 중 Null 오류 발생 가능성이 줄어듦! 🎯

 


Step 4: 간결하고 직관적인 문법

 

Dart의 문법은 Java, JavaScript, C#과 유사하여 익히기 쉬움
간결한 표현식(Arrow Function, Cascade Operator 등) 제공

 

🔹 Dart의 간단한 문법 예제

void main() {
  var list = [1, 2, 3];
  list.forEach((item) => print('값: $item')); // Arrow Function 활용
}

 

void main.txt
0.00MB

 

 

🔹 DartPad에서 적용하면 다음과 같이 출력됩니다. 

 

Dart는 코드가 직관적이며 가독성이 높음! 🎯


 Step 5: 비동기 프로그래밍 지원 (async, await, Future, Stream)

 

비동기 프로그래밍을 지원하여 네트워크 요청, 파일 읽기 등을 쉽게 처리 가능
Future, async/await, Stream 등 다양한 비동기 방식 제공

 

🔹 Dart의 간단한 문법 예제

Future<void> fetchData() async {
  await Future.delayed(Duration(seconds: 2));
  print('데이터 로드 완료!');
}

void main() {
  fetchData();
  print('데이터 요청 중...');
}

 

Future.txt
0.00MB

 

 

🔹 DartPad에서 적용하면 다음과 같이 출력됩니다. 

 

비동기 처리를 통해 네트워크 요청을 쉽게 구현 가능! 🚀


Ⅲ. 결론: Dart의 강점과 활용 범위 ✅

 

Dart를 배우면 좋은 이유

 

Flutter의 필수 언어 → 모바일 앱 개발에 적합
객체지향, 함수형, 비동기 프로그래밍 등 다양한 기능 제공
JIT & AOT 컴파일로 빠른 실행 및 최적화 가능


Flutter 개발을 위한 Dart 학습 방법

 

기본 문법 익히기 (변수, 조건문, 반복문, 컬렉션 등)
객체지향 개념(OOP)과 클래스 활용법 익히기
비동기 프로그래밍(Future, async/await) 연습하기


 

🎯 Dart의 개념과 특징 정리! 🎉

 

Dart는 Google에서 개발한 크로스플랫폼 프로그래밍 언어
Flutter 개발을 위해 최적화된 언어로 빠른 성능 제공
객체지향(OOP), JIT & AOT 컴파일, Null Safety, 비동기 처리 지원

728x90
728x90