About

전체 Flutter 가이드

카테고리별로 정리된 Flutter 개발 가이드

Dart 언어

Dart란? Null Safety와 JIT/AOT를 갖춘 언어의 특징

Google이 만든 클라이언트 최적화 프로그래밍 언어

Dart는 모든 플랫폼에서 빠르고 안정적인 앱을 만들기 위해 Google이 설계한 객체 지향 언어입니다. 모든 것이 객체이고, 강력한 타입 시스템과 Null Safety, JIT+AOT 컴파일을 지원합니다.

Dart 기본 문법 정리 — var/final/const와 ?·!·??

main()부터 시작하는 Dart 핵심 문법

Dart 프로그램은 main()에서 시작합니다. var/final/const/late/dynamic 변수 선언, 문자열 보간, Null Safety(?/!/??), 캐스케이드(..) 연산자 등 핵심 문법을 정리합니다.

Dart 타입 시스템 — 타입 추론·캐스팅·제네릭

컴파일할 때 타입을 검사하는 정적 타입 언어

Dart는 정적 타입 언어로 컴파일 타임에 타입을 검사합니다. 타입 추론, is/as 캐스팅, 타입 프로모션, 제네릭, typedef 등 타입 시스템의 핵심을 다룹니다.

Dart 클래스 — extends·implements·with 차이

생성자 5종, 상속, 인터페이스, Mixin, 팩토리 패턴

Dart는 완전한 객체 지향 언어입니다. 5가지 생성자, extends/implements/with를 활용한 상속·인터페이스·Mixin, 팩토리 패턴으로 유연한 클래스 설계를 할 수 있습니다.

Dart List·Set·Map 차이와 고르는 법

스프레드와 컬렉션 for/if까지

Dart의 3대 컬렉션 — List(순서O, 중복O), Set(중복X, 집합 연산), Map(키-값 쌍). 스프레드 연산자, 컬렉션 for/if, 메서드 체이닝으로 강력한 데이터 처리가 가능합니다.

Dart 비동기 처리 — Future·Stream·async/await

오래 걸리는 작업에서 UI를 멈추지 않게

네트워크 요청, 파일 I/O 등 시간이 걸리는 작업에서 UI가 멈추지 않도록 처리합니다. Future(단일 결과)와 Stream(연속 이벤트), async/await로 비동기를 동기처럼 작성합니다.

Dart 예외 처리 — Exception과 Error의 차이

on·rethrow·비동기 예외까지

Dart는 Exception(복구 가능)과 Error(복구 불가)를 구분합니다. try-catch-finally, on 타입별 처리, rethrow, 비동기 예외 처리까지 정리합니다.

Dart Extension이란? 기존 클래스에 메서드를 더하는 법

String에 capitalize, int에 isPrime을 더하는 예

Extension은 원본 소스 수정이나 상속 없이 기존 클래스에 새로운 메서드·프로퍼티·연산자를 추가합니다. String에 capitalize, int에 isPrime, List에 distinct 등을 추가할 수 있습니다.

Dart Records와 패턴 매칭 쓰는 법 — 클래스 없이 값 묶기

Dart 3.0 — 다중 값 반환, 구조 분해, switch 패턴

Dart 3.0에서 도입된 Records는 클래스 없이 여러 값을 그룹화하는 불변 타입입니다. 패턴 매칭과 결합하면 switch/if-case에서 타입과 조건을 동시에 검사할 수 있습니다.