Dart 문법 8

JsonData 변환

직렬화란?Dart 코드로 되어있는 객체를 다른 언어로 작성한 언어 및 플랫폼(예를들어 자바로 작성된 서버)에서 작동하게 하게 하기 위해 객체를 서버에 전송하거나 로컬 저장소에 저장하기 위해 적합한 형식으로 변환하는 과정.서로다른 언어를 사용하는 플랫폼에서도 데이터를 주고받을 수 있게 하기 위해 JSON 이라는 형식을 주로 사용 JSON ( JavaScript Object Notation )데이터를 저장하거나 전송할 때 많이 사용되는 DATA 교환 형식JSON은 데이터를 표시하는 표현방법이며, 서버와 클라이언트 간의 데이터 교환에서 주로 사용된다.실제로 코드 내에서 사용될 때는 Map 형태로 decode 할 수 있다. // JSON 데이터의 일반적인 형식// key - value{ "name": "오상구"..

Dart 문법 2024.11.28

클래스 생성자 방식

클래스 생성자생성자는 인스턴스가 생성될 때 호출되는 '인스턴스 초기화 메서드'로써, 인스턴스 변수의 초기화 작업에 주로 사용되며, 인스턴스 생성 시에 실행 되어야 할 작업을 위해서도 사용되는 메서드이다. 클래스 생성자 기본형// 생성자 기본형class Human { String name; int age; bool sex; Human(String name, int age, bool sex){ this.name = name; this.age = age; this.sex = sex; }}  형식 매개변수 초기화 ( Initializing formal 방식 )Initializing formal은 생성자에서 선언된 파라미터가 해당 클래스의 멤..

Dart 문법 2024.11.18

Dart 문법(6)

동기 프로그래밍코드상에 적힌 대로, 순차적으로 작업이 진행되는 프로그래밍 방식결과값이 나올 때까지 다른 모든 연산이 멈추기 때문에, 한번에 하나씩의 작업을 수행하게 된다. 비동기 프로그래밍여러 작업이 있을때, 하나의 작업이 완료될 때까지 기다리지 않고 동시에 여러가지 작업을 수행하는 방식의 프로그래밍결과값이 나올 때까지 다른 모든 연산이 멈추는 것이 아니기 때문에 다른 작업을 계속 할 수 있다. 비동기 프로그래밍 키워드Future제네릭 타입으로써, 비동기 프로그래밍에서 사용되는 대표적인 클래스라고 할 수 있다.작업이 성공적으로 완료되었을 때 해당 결과값을 반환하고, 실행을 종료한다.// 일반적 형태로 사용하는 futureFuture n = Future.value(3);Future name = Future..

Dart 문법 2024.11.04

Dart 문법(5)

## 해당 글은 강의를 들으면서 알고있던것을 적는게 아닌, 모르고 있던것을 알았을때 적어 놓은것임 클래스 (Class)class Person { // 속성 String name; int age; // 생성자 Person(this.name, this.age); // 메서드 void introduce() { print('안녕 ? 나는 $age살 $name !'); }} 예외 (Exception)프로그램이 실행되는 동안 발생할 수 있는 예외적인 상황을 '예외' 라고 한다.Exception에 대한 처리는 Exception 클래스를 상속받은 객체로 다룰 수 있다.일반적으로 이 기능은, 예외를 처리할 수 있는 개발자에게 유용한 기능이며, 해당 기능을 통해 오류 상황에 대한 로그를 얻는데 ..

Dart 문법 2024.11.01

Dart 문법(4)

## 해당 글은 강의를 들으면서 알고있던것을 적는게 아닌, 모르고 있던것을 알았을때 적어 놓은것임 고차 함수 (Higher-order Function)함수를 다루는 함수, 컬렉션 타입의 데이터에 있는 요소를 처리하거나 변환할때 주로 사용된다.map// 원본 데이터를 '직접 가공하지 않고', 특정 함수를 적용한 새로운 데이터를 반환한다.// '매개변수'는 컬렉션 내부 요소값을 의미한다!!// map(([매개변수]) { return [매개변수에 적용할 동작] });List fruitList = ['사과', '오렌지', '수박'];var delicious = fruitList.map((fruit) { return '맛있는 $fruit';});print(delicious); // (맛있는 사과, 맛있는 오렌지..

Dart 문법 2024.10.28

Dart 문법(3)

## 해당 글은 강의를 들으면서 알고있던것을 적는게 아닌, 모르고 있던것을 알았을때 적어 놓은것임 함수의 연속으로 프로그램을 구성하는 방식 (메서드 체이닝)int number = -12345var result = number.abs().toString().contains('3');print(result); // true 가변적인 데이터의 사용을 최소화하여 프로그램을 구성하는것이 좋다!// 출력값이 항상 매개변수 (입력값) 에만 의존하게 하는게 좋다.int multiply(int a, int b) { return a * b;}// 만일 함수 내부에서 값을 변경하는 명령형 프로그래밍 방식int number = 0;void increaseNumber() { number += 1;}void main() { ..

Dart 문법 2024.10.28

Dart 문법(2)

## 해당 글은 강의를 들으면서 알고있던것을 적는게 아닌, 모르고 있던것을 알았을때 적어 놓은것임List여러개의 같은 타입의 값을 그룹으로 묶어서 효율적으로 관리할 수 있음// indexOf 를 통해 특정 요소의 Index 값을 알 수 있다.// 만약 중복 요소가 있을 경우 앞 index를 반환하고, 없으면 -1을 반환한다.List s = ['K','A','S','K'];print(s.indexOf('K')); // 0print(s.indexOf('G')); // -1// add, addAll 을 통해 특정 요소를 추가할 수 있다.// 추가적인 index값을 넣어주면, 해당 index값으로 값을 넣을 수 있다. default값은 마지막에List s = ['K','A','S','K'];print(s.add..

Dart 문법 2024.10.28

Dart 문법 (1)

## 해당 글은 강의를 들으면서 알고있던것을 적는게 아닌, 모르고 있던것을 알았을때 적어 놓은것임 Const vs Final공통점해당 키워드로 변수를 선언할 경우, 컴파일러가 해당 코드를 읽어들이는 시점이 아닌 앞선 시점에서 초기화가 이루어지게 된다.초기화 시점이 기존보다 앞당겨졌기 때문에, 초기화 이후에 해당 변수는 프로그램 실행중 값을 변경할 수 없게 된다.차이점Final의 초기화 시점은 프로그램이 실행할 때(*런타임) 초기화가 이루어진다.Const의 초기화 시점은 *컴파일 시점에 초기화가 이루어진다.(추가)컴파일 시점이란?컴파일 시점은 코드를 작성하고 컴파일러가 이를 기계어로 변환하는 단계다. 컴파일 시점에는 프로그램이 실행되지 않으며, 코드의 구문과 타입 검사 등이 이루지게 된다. 런타임 시점이란..

Dart 문법 2024.10.25