728x90 DART21 Dart 3.0의 새로운 클래스 제한자 (Class Modifiers) Dart 3.0의 새로운 클래스 제한자 (Class Modifiers)Dart 3.0에서는 클래스의 상속 및 구현을 제한하는 새로운 키워드(제한자) 가 도입되었습니다.이를 통해 코드의 안정성을 높이고, 명확한 의도를 표현할 수 있습니다.1. Dart 3.0의 클래스 제한자 종류키워드설명예제sealed동일한 파일 내에서만 상속 가능sealed class Animal {}interface인터페이스로만 사용 가능interface class Animal {}final상속 불가 (변경 불가능한 클래스)final class Animal {}base상속 가능하지만, 하위 클래스도 base, final, sealed이어야 함base class Animal {}2. sealed (봉인 클래스, 제한된 상속)sealed .. 2025. 3. 4. Dart 3.0의 향상된 switch 문 Dart 3.0의 향상된 switch 문Dart 3.0에서는 switch 문이 크게 향상되어 패턴 매칭(Pattern Matching), 표현식(switch expression), 가드 절(Guard Clause) 등을 지원합니다.이제 switch 문을 더욱 간결하고 강력하게 사용할 수 있습니다.1. switch 표현식 (switch expression)Dart 3.0에서는 switch 문을 표현식(expression)으로 사용하여 값을 반환할 수 있음.1.1. 기존 switch 문 (Dart 2.x)String getColorMeaning(String color) { switch (color) { case 'red': return '정지'; case 'yellow': re.. 2025. 3. 4. Dart 3.0의 레코드 (Records) Dart 3.0의 레코드 (Records)Dart 3.0에서 도입된 레코드(Records) 는 여러 개의 값을 하나의 그룹으로 묶어서 반환하거나 전달할 수 있는 튜플(Tuple) 형태의 데이터 구조입니다.기존 List나 Map 없이 여러 개의 값을 직접 반환할 수 있음클래스나 구조체를 만들지 않고도 여러 데이터를 그룹화 가능구조 분해(Destructuring) 를 통해 개별 변수에 쉽게 할당 가능가변 레코드와 불변 레코드 지원1. 레코드 기본 사용법1.1. 레코드 생성void main() { var record = ('Alice', 30, true); print(record); // ('Alice', 30, true)}여러 개의 값을 하나의 레코드로 묶어서 저장 가능1.2. 레코드의 개별 값 접근vo.. 2025. 3. 4. Dart Completer (커스텀 비동기 처리) Dart Completer (커스텀 비동기 처리)Dart에서 Completer 는 Future를 수동으로 제어할 수 있는 객체입니다.즉, 비동기 작업을 직접 완료하거나, 실패 처리할 때 사용됩니다.1. Completer란?Future는 일반적으로 비동기 작업이 자동으로 완료되지만,Completer를 사용하면 개발자가 Future를 수동으로 완료(complete)하거나 오류 처리(completeError)할 수 있음.비동기 작업의 흐름을 개발자가 직접 제어할 때 유용.2. Completer 기본 사용법2.1. Completer를 사용하여 비동기 데이터 반환import 'dart:async';Future fetchData() { Completer completer = Completer(); Future... 2025. 3. 4. Dart의 Stream (비동기 데이터 스트림) Dart의 Stream (비동기 데이터 스트림)Dart에서 Stream은 비동기 데이터의 연속적인 흐름을 처리하는 기능입니다.Future는 단일 비동기 결과를 반환하지만,Stream은 여러 개의 비동기 데이터를 순차적으로 전달할 수 있습니다.Stream이 필요한 경우네트워크 요청을 통해 실시간 데이터 수신 (예: WebSocket)센서 데이터 처리 (예: GPS, 가속도 센서)버튼 클릭 이벤트 감지파일 다운로드 진행 상황 모니터링오디오/비디오 스트리밍 데이터 처리1. Stream 기본 개념비동기적으로 여러 개의 데이터를 순차적으로 처리이벤트 기반으로 동작하며 데이터가 발생할 때마다 수신listen()을 사용하여 구독(subscribe)한 번만 사용할 수도 있고, 여러 구독자(multicast)와 공유 가.. 2025. 3. 4. Dart 비동기 프로그래밍 Dart 비동기 프로그래밍 (Asynchronous Programming)Dart는 비동기 프로그래밍(Asynchronous Programming)을 지원하여 네트워크 요청, 파일 읽기, 데이터베이스 작업과 같이 시간이 걸리는 작업을 효율적으로 처리할 수 있습니다. Dart의 비동기 프로그래밍 핵심 요소:Future: 비동기 작업을 나타내는 객체async & await: 비동기 함수 정의 및 실행Stream: 여러 개의 비동기 데이터를 순차적으로 처리1. Future란?Future는 미래에 완료될 값(비동기 작업의 결과)을 나타내는 객체시간이 걸리는 작업이 완료되면 결과 값을 반환하거나 예외를 발생Future는 단일 값을 반환함 (여러 값 처리 시 Stream 사용)1.1. Future 기본 사용법Fut.. 2025. 2. 28. 이전 1 2 3 4 다음 728x90