IT기술/다트 (dart)

[Dart 완전 정복] 다트 프로그래밍 언어의 핵심 개념과 기초 문법 총정리

후스파 2025. 3. 19. 17:06
반응형

다트 Dart

다트(Dart)는 구글이 개발한 현대적인 프로그래밍 언어로, 웹, 모바일, 서버 애플리케이션 개발에 사용됩니다. 원래 자바스크립트를 대체하기 위해 만들어졌지만, 웹 환경의 복잡성으로 인해 자바스크립트로 컴파일되는 방식으로 발전했습니다.

 

다트의 주요 특징

  1. 객체 지향 프로그래밍: 다트는 클래스 기반의 객체 지향 언어입니다.
  2. 강력한 타입 시스템: 정적 타입 검사를 지원하면서도 타입 추론을 통해 동적 언어의 편의성을 제공합니다.
  3. JIT와 AOT 컴파일: 개발 시에는 JIT(Just-In-Time) 컴파일로 빠른 개발을, 배포 시에는 AOT(Ahead-Of-Time) 컴파일로 높은 성능을 제공합니다.
  4. 가비지 컬렉션: 자동 메모리 관리를 통해 개발자의 부담을 줄여줍니다.
  5. 비동기 프로그래밍: async와 await 키워드를 통해 효율적인 비동기 프로그래밍을 지원합니다.

 

DartPad: 온라인 다트 개발 환경

DartPad는 웹 브라우저에서 다트 코드를 작성하고 실행할 수 있는 온라인 IDE입니다. 주요 기능은 다음과 같습니다:

  • 실시간 코드 실행: 코드 변경 사항을 즉시 반영하는 "Hot Reload" 기능 제공
  • 다양한 예제: 기본 문법부터 고급 기능까지 다양한 예제 코드 제공
  • Flutter 지원: Flutter 위젯을 사용한 UI 디자인 및 테스트 가능
  • 코드 공유: 작성한 코드를 링크로 쉽게 공유 가능

 

다트 기초 문법

  • 주석
// 한 줄 주석

/*
 여러 줄 주석
*/

/// 문서 주석 (Dartdoc에서 사용)

 

  • 변수 선언
var name = "다트"; // 타입 추론
String language = "Dart"; // 명시적 타입 선언
dynamic variable = 10; // 동적 타입
final pi = 3.14; // 런타임 상수
const gravity = 9.81; // 컴파일타임 상수
 
 
  • 기본 데이터 타입
    • String: 문자열 ("Hello", 'World')
    • int: 정수 (42, -10)
    • double: 실수 (3.14, -0.01)
    • bool: 불리언 (true, false)
    • List: 배열 ([1][2][3])
    • Map: 키-값 쌍 ({'name': 'Dart', 'age': 10})
    • Set: 중복 없는 컬렉션 ({1, 2, 3})

 

  • 함수
int add(int a, int b) {
  return a + b;
}

// 화살표 함수
int multiply(int a, int b) => a * b;
 
 
  • 조건문과 반복문
if (condition) {
  // code
} else if (anotherCondition) {
  // code
} else {
  // code
}

for (var i = 0; i < 5; i++) {
  print(i);
}

while (condition) {
  // code
}
 
 
  • 클래스와 객체
class Person {
  String name;
  int age;
  
  Person(this.name, this.age);
  
  void introduce() {
    print("My name is $name and I'm $age years old.");
  }
}

var person = Person("Alice", 30);
person.introduce();
 
 

 

객체 지향 프로그래밍 (OOP) 개념

다트는 강력한 OOP 지원을 제공합니다. 주요 개념은 다음과 같습니다:

  1. 캡슐화: 데이터와 메서드를 하나의 단위로 묶어 외부로부터 보호합니다.
  2. 상속: extends 키워드를 사용해 기존 클래스의 특성을 새 클래스에 물려줍니다.
  3. 다형성: 같은 인터페이스를 통해 다양한 객체를 다룰 수 있게 합니다.
  4. 추상화: abstract 클래스와 인터페이스를 통해 구현의 세부사항을 숨깁니다.

 

마무리

다트는 현대적이고 강력한 프로그래밍 언어로, 특히 Flutter 프레임워크와 함께 사용될 때 그 진가를 발휘합니다. 기초 문법부터 고급 OOP 개념까지 숙달하면, 효율적이고 유지보수가 쉬운 애플리케이션을 개발할 수 있습니다.

실제 프로젝트에서 다트를 활용할 때는 다음과 같은 점들을 고려해 볼 수 있습니다:

  1. 비동기 프로그래밍 패턴: Future와 Stream을 활용한 효율적인 비동기 코드 작성
  2. 패키지 관리: pub.dev를 통한 다양한 오픈소스 패키지 활용
  3. 테스트 주도 개발(TDD): 다트의 내장 테스트 프레임워크를 활용한 견고한 코드 작성
  4. 성능 최적화: AOT 컴파일과 트리 쉐이킹을 통한 애플리케이션 성능 향상
  5. 크로스 플랫폼 개발: Flutter를 활용한 iOS, Android, 웹, 데스크톱 애플리케이션 동시 개발

다트의 생태계는 계속해서 성장하고 있으며, 이를 통해 개발자들은 더욱 효율적이고 강력한 애플리케이션을 만들 수 있게 될 것입니다.

 

 

 

[Dart] 다트 (Dart) 기초

다트(Dart)는 자바스크립트를 대체하기 위해 개발되었습니다. 그러나 웹 환경의 복잡성 때문에 다트는 자...

blog.naver.com

 

반응형