상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
수정하기 - 다트의 비동기 프로그래밍은 어떻게 이루어지나요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
다트(Dart)는 비동기 프로그래밍을 지원하는 강력한 기능을 제공하는 프로그래밍 언어입니다. 비동기 프로그래밍은 특히 I/O 작업, 네트워크 요청, <a href='https://sangseek.com/sangseeks/파일 읽기/ko'>파일 읽기</a>/쓰기 등 시간이 오래 걸리는 작업을 수행할 때 유용합니다. 다트에서는 비동기 프로그래밍을 위해 `F<a href='https://sangseek.com/sangseeks/uture/ko'>uture</a>`와 `Stream`이라는 두 가지 <a href='https://sangseek.com/sangseeks/주요 개념/ko'>주요 개념</a>을 사용합니다. 1. Future `Future`는 비동기 작업의 결과를 나타내는 객체입니다. 비동기 작업이 완료되면 `Future`는 결과 값을 반환하거나 오류를 발생시킵니다. `Future`는 다음과 같은 방법으로 생성할 수 있습니다: ```dart Future<String> fetchData() { return Future.delayed(Duration(seconds: 2), () { return '데이터 로드 완료'; }); } ``` 위의 예제에서 `fetchData` 함수는 2초 후에 문자열을 반환하는 `Future`를 생성합니다. 이 `Future`는 비동기적으로 실행되며, 호출자는 결과를 기다리지 않고 다른 작업을 수행할 수 있습니다. Future 사용하기 `Future`의 결과를 처리하기 위해 `then`, `catchError`, `whenComplete` 메서드를 사용할 수 있습니다: ```dart void main() { fetchData().then((data) { print(data); // '데이터 로드 완료' }).catchError((error) { print('오류 발생: $error'); }).whenComplete(() { print('작업 완료'); }); } ``` 또한, `async`와 `await` 키워드를 사용하여 비동기 코드를 더 간결하게 작성할 수 있습니다: ```dart Future<void> main() async { try { String data = await fetchData(); print(data); // '데이터 로드 완료' } catch (error) { print('오류 발생: $error'); } finally { print('작업 완료'); } } ``` 2. Stream `Stream`은 비동기 데이터의 연속적인 흐름을 처리하는 데 사용됩니다. 예를 들어, <a href='https://sangseek.com/sangseeks/웹 소켓/ko'>웹 소켓</a>, 파일 읽기, 사용자 입력 등에서 발생하는 이벤트를 처리할 때 유용합니다. `Stream`은 여러 개의 값이 순차적으로 발생할 수 있는 경우에 적합합니다. Stream 생성하기 `Stream`은 다음과 같이 생성할 수 있습니다: ```dart Stream<int> countStream() async* { for (int i = 1; i <= 5; i++) { await Future.delayed(Duration(seconds: 1)); yield i; // 값을 방출 } } ``` 위의 예제에서 `countStream` 함수는 1초마다 1부터 5까지의 숫자를 방출하는 `Stream`을 생성합니다. Stream 사용하기 `Stream`의 값을 처리하기 위해 `listen` 메서드를 사용할 수 있습니다: ```dart void main() { countStream().listen((value) { print('값: $value'); }, onDone: () { print('모든 값이 방출되었습니다.'); }); } ``` 3. 비동기 프로그래밍의 장점 비동기 프로그래밍을 사용하면 다음과 같은 장점을 누릴 수 있습니다: - 성능 향상 : 비동기 작업을 사용하면 CPU가 다른 작업을 수행하는 동안 I/O 작업이 진행될 수 있어 전체적인 성능이 향상됩니다. - 응답성 : UI 애플리케이션에서 비동기 작업을 사용하면 사용자 인터페이스가 차단되지 않고, 사용자에게 더 나은 경험을 제공합니다. - 코드 가독성 : `async`와 `await`를 사용하면 비동기 코드를 동기 코드처럼 작성할 수 있어 가독성이 높아집니다. 결론 다트의 비동기 프로그래밍은 `Future`와 `Stream`을 통해 강력하고 유연한 방식으로 구현됩니다. 이러한 기능을 활용하면 비동기 작업을 효율적으로 처리하고, 사용자 경험을 개선할 수 있습니다. 비동기 프로그래밍은 현대 애플리케이션 개발에서 필수적인 요소로 자리 잡고 있으며, 다트는 이를 효과적으로 지원하는 언어입니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기