다트 스트림(Dart Stram)이란 무엇일까.
·
Dart
Dart Stram은 비동기적으로 여러 개의 데이터를 순차적으로 처리할 수 있도록 도와주는 클래스 입니다. 비동기적 개념에서 Feture와 동일하지만 여러 개의 값을 처리할 수 있는 점에서 다릅니다. 기본 문법Stream은 Dart 언어에서 기본으로 제공해주는 클래스가 아니기 때문에 import 작업이 필요 합니다. import 'dart:async';void main() async { final stValue = StreamController(); final st = stValue.stream; final result = st.listen((val) { print('valueResult : ${val}'); }); stValue.sink.add(1); stValue.sink.add(2..
다트 비동기 프로그래밍(Dart async Programming)란 무엇일까.
·
Dart
비동기 프로그래밍은 작업을 요청한 뒤 결과를 기다리지 않고 다른 작업을 먼저 처리할 수 있도록 하는 프로그래밍 방식 입니다. 동기 프로그래밍 같은 경우 작업이 끝날 때까지 기다리고 다음 코드를 실행하는 반면 비동기는 작업을 시작해두고 다른 작업도 동시에 시작하는 것을 의미 합니다. Future비동기 작업의 결과를 담는 객체 입니다. 미래에 완료될 작업을 나타내며, 주로 네트워크 요청, 파일 읽기처럼 시간이 걸리는 작업에 사용 합니다. 비동기적 프로그래밍은 위에서 한줄씩 처리되는 동기 프로그래밍과 달리 위에서 한줄씩 처리하되 비동기 처리할 코드를 endpoint 에 저장해 놓고 다음 작업을 진행할 수 있습니다. 결과적으로 아래 코드는 동기로 진행했을 경우 "요청 -> 2초대기 후 결과 -> 요청 완료" ..
다트 함수(Dart Function Programming)란 무엇일까.
·
Dart
다트 언어에는 기본적으로 제공하는 수 많은 함수가 존재 합니다. 우리는 이미 만들어져 있는 함수를 가져다가 원하는 개발을 하면 될 뿐 입니다. IterableIterable은 리스트(List)와 Set(집합) 처럼 하나씩 순회 가능한 컬렉션의 공통 부모 타입.Iterable은 인터페이스(추상 클래스).정리하면 Interable은 여러 데이터를 하나씩 순서대로 꺼내서 볼 수 있는 구조.아래 코드는 List, Set 데이터를 map 함수를 사용해서 Interable 형태로 변환함.map 함수는 데이터를 하나씩 가져와서 처리.void main() { List listStudents = ['철수', '짱구', '맹구', '유리']; final listNewStudents = listStudents.ma..
다트 제네릭(Dart Generic)란 무엇일까.
·
Dart
제네릭은 타입을 외부에서 정의하여 사용하는 것을 의미 합니다. 클래스, 함수, 컬렉션에서 다양한 타입을 정의하여 재사용성을 향상 시킵니다. 개념만 들어서는 이해하 어렵지만 코드를 보면 이해하기가 수월 할 것 입니다. Generic 제네릭을 표현했지만 사실 어떤 문자가 들어가도 상관 없음.외부에서 지정한 타입으로 클래스 내부 변수의 타입이 결정.void main() { Party party = Party(1,'party','파티!'); party.getFree();}class Party{ int age; String name; T free; Party(this.age, this.name, this.free); void getFree(){ print(this.free); }} ..
다트 인터페이스(Dart Interface)란 무엇일까.
·
Dart
다트에서 인터페이스는 약속 입니다. 상속 개념과 동일하게 클래스에서 인터페이스를 상속 받습니다. 상속 받은 클래스에서는 인터페이스에 선언되어 있는 변수, 함수를 반드시 구현해야 합니다. implements인터페이스 상속 하려면 implements 키워드 사용.인터페이스를 상속 받으면 반드시 인터페이스에 있는 변수, 함수 구현 필수.void main() { }class Parent{ String name; Parent(this.name); void getName(){}}class Children implements Parent{ String name; Children(this.name); void getName(){ print('${this.name} 입니다.'); }}..
다트(Dart) 상속(inheritance)이란 무엇일까.
·
Dart
Dart에서 상속(inheritance)은 기존 클래스의 기능을 확장하거나 재사용할 때 사용됩니다. extends 키워드를 통해 부모 클래스의 속성과 메서드를 자식 클래스가 물려받을 수 있으며, 오버라이딩을 통해 동작을 재정의할 수도 있습니다.inheritence(상속)우리가 알고있는 부모가 자식에게 물려주는 재산 개념 맞음.OOP에서 상속이란 부모의 클래스를 상속시켜 부모의 변수, 함수를 자식이 사용할 수 있도록 함.반대로 자식 클래스에 있는 변수, 함수를 부모 클래스에서 사용 못함. extends상속 받기 위한 키워드.핵심은 상속받은 Student 클래스에서 부모 함수를 사용.void main() { Student student = Student('일등',1); student.sayNam..
다트 클래스(Dart Class)란 무엇일까.
·
Dart
다트 언어는 객체지향 언어로 클래스 개념이 존재 합니다. 클래스는 모든 객체가 될 수 있고 그 안에는 변수, 함수가 존재 합니다. 변수(veriable), 함수(function)변수는 grade, students 함수는 helloclass School{ String grade = '1학년'; List students = ['짱구','훈이','맹구','유리']; void hello(){ print('안녕하세요. ${this.grade} 입니다.'); } } 인스턴스(instance)클래스 사용을 위한 단위.ins, ins2 같은 클래스를 사용했지만 엄연히 다른 객체.void main() { School ins = School(); School ins2 = School(); ..
다트(Dart) 언어 함수(Function)
·
Dart
Dart에서 함수(Function)는 코드의 재사용과 구조화를 위해 사용되는 핵심 요소입니다. 기본적으로 `void` 또는 반환형을 명시하여 선언하며, 화살표 함수(=>)를 사용해 간결하게 표현할 수도 있습니다. Dart는 함수도 1급 객체이기 때문에 변수에 할당하거나 인자로 전달할 수 있으며, 선택 매개변수와 기본값도 지원합니다.Function(함수)반복적인 작업을 재활용하기 위한 패턴. Parameter( 파라미터) 인자라고도 불리며 함수 안에서 전달 받는 값.변수 선언처럼 자료형을 지정해 줘야함.순서에 따라서 값이 달라짐.void main() { Plus(1,2,3);}Plus(int a, int b, int c){ print(a+b+c);} optional parameter선택적 파라미..