“클래스명과 동일 명칭으로, 리턴 값의 타입이 명시되어 있지 않은 메소드"는 생성자로 사용된다.생성자는 new 에 의한 인스턴스화의 직후에 자동적으로 실행 된다. Dart에서 new는 생략 가능하다.인수를 가지는 생성자를 정의하면, new 를 할 때에 인수를 지정하여
변수는 값이 변경되어 의도치 않게 에러가 발생할 가능성이 있다.그래서 가급적으로 값이 변하지 않도록 상수로 사용하는 것이 좋다.선언할 때 final, const 키워드를 제일 앞에 붙이면 값이 수정되지 않는 상수로 사용이 가능하다.런타임에 결정var대신 final로 변
순서대로 쌓여있는 구조 (아이템의 중복을 허용)list를 만드는 방법var 키워드를 사용하는 방법,var numbers = 1, 2, 3, 4,; 자료형을 명시하는 방법List numbers = 1, 2, 3, 4,;가능할 때는 var을 쓰며, 자료형을 명시하는 방법은
다트는 타입을 직접 명시하지 않고 var로 대체할 수 있는 타입 추론을 지원코드타입 애노테이션(annotation): 변수 선언에 명시한 타입으로 결정한다.타입 추론(inference): 변수에 대입되는 값을 통해서 묵시적으로 변수의 타입을 결정한다.다트 언어는 타입
null safety는 개발자가 null 값을 참조할 수 없도록 하는 것이다.String뒤에 ?를 붙여줌으로서 name이 String 또는 null이 될 수 있다고 명시해준 것이다.기본적으로 모든 변수는 non-nullable(null이 될 수 없음)이다.nullabl
‘이전에 만든 클래스와 닮았지만, 일부 다른 클래스’를 만들 필요가 있을 때 사용한다. extends를 사용하여 기존 클래스를 기초로 하는 새로운 클래스를 정의할 수 있다.부모 클래스의 멤버는 자동적으로 자식 클래스에 상속되므로, 자식 클래스에는 추가된 부분만 기술하
추상 클래스는 상속의 재료로 사용되는 클래스이자 상세 부분이 미정의 된 클래스를 말한다.일부는 정의가 되어 있을 수 있고 일부는 안되어 있을 수 있다.즉, 추상 클래스는 다른 클래스들이 직접 구현해야 하는 필드와 메소드들을 모아놓은 클래스이다.추상 클래스는 아직 메소드
Flutter에서 소수점이 있는 숫자를 사용하다보면, 해당 숫자에 대한, 올림, 버림 또는 반올림을 해야할 때가 있다.Flutter에서 소수점 이하를 올리기 위해서는 ceil이라는 함수를 사용한다.다음과 같이 ceil을 사용하면 소수점 이하를 올릴 수 있다.Flutte
타입을 검사하려면 is키워드를 사용한다.타입을 출력하려면 runtimeType을 사용한다.코드타입 변환(conversion): 컴파일러나 인터프리터에 의해 자동으로 데이터 타입이 바뀌는 것타입 캐스팅(casting): 프로그래머가 직접 캐스팅 연산자 등을 이용하여 의도
상속받은 클래스의 기능을 확장하거나 변경하는 것을 가능하게 해준다.이를 통해 코드의 재사용과 코드길이 감소가 되어 유지보수가 용이하도록 도와준다.어떤 것을 이렇게도 볼 수 있고, 저렇게도 볼 수 있는 것ex) 핸들이 있고, 오른쪽 페달이 엑셀, 왼쪽이 브레이크인 것 =
Dart의 Object 클래스는 모든 클래스의 기본 클래스이다.즉, 모든 클래스의 부모 클래스라고도 볼 수 있는 Object 클래스는 객체의 기본 동작을 정의하고, 객체 간의 관계를 확인할 수 있는 기능을 제공한다.또한, 모든 클래스가 Object의 메서드와 프로퍼티를
제네릭(generics)은 Dart에서 사용되는 강력한 기능 중 하나이다.Collection을 정의할 때 많이 활용된다.< ... > 괄호를 활용하여 그 안에 타입을 지정하는 것을 제네릭이라고 한다. (정식 유형 매개 변수가있는 타입)관례상(https:/
enum은 열거형 타입(enumerated type)의 줄임말로 enumerations, enums 으로도 불린다.서로 연관된 상수를 모아놓은 집합이다.정해 둔 값만 넣어둘 수 있는 타입이다.많은 언어에서 사용되며 dart에서도 상수역할을 하는 식별자로서 사용된다.en
단순 삽입은 따옴표 내부에 $변수명변수를 계산하여 삽입하는 법은 ${계산식}$ 그대로 표시는 escape문자 \\$코드1코드2코드3length: 문자열의 길이 (공백문자 포함)isEmpty: 빈 문자열일 경우 참isNotEmpty: 빈 문자열이 아닐 경우 참codeUn
Exception이란 프로그램의 정상적 흐름을 방해하는 이벤트를 말한다.대표적인 예로, 숫자를 0으로 나눌 때 발생하는 DivisionByZero Exception이 있다.Dart는 Exception을 처리하는 방법으로 Assert, try-catch-finally,
Dart에서 파일과 관련된 코드를 다루려면 dart:io 라이브러리를 사용해야 한다.해당 라이브러리를 import하면 파일 작업을 수행할 수 있다.File이라는 생성자를 통해 파일의 경로를 전달한다.만약 해당 경로에 파일이 없다면 새로 생성된다.파일을 읽어올 때는 파일
직렬화를 통해 인스턴스를 바이트 배열로 상호 변환할 수 있다.클래스 내부의 필드도 직렬화 대상이라면 모두 직렬화 처리를 해 줘야 한다.클래스 설계의 변경에 대비하려면 직렬화 버전 UID를 선언한다‘dart:convert’ 라이브러리를 사용하여 직렬화와 역직렬화를 할 수
조건(배열 요소)을 필터링 할 때 쓰는 함수다.예제코드firstWhere는 요소를 반복하고 주어진 조건의 첫 번째 요소를 반환한다.firstWhere과 indexWhere의 차이점은 firstWhere는 요소를 반환하고, indexWhere는 일치하는 테스트의 inde
코드가 순서대로 실행된다.작업이 완료될 때까지 프로그램이 중단될 수 없다.모든 작업은 이전 작업의 실행이 완료될 때까지 기다려야 한다.임의의 순서로 동시에 작업이 실행될 수 있다.비동기를 처리하는 방법에는 콜백, Future, async -await 방식이 있다.코드비
Json 데이터를 모델 클래스까지 전달하는 중간 단계 역할을 하는 객체다.프로세스 간 데이터를 전송하기 위해 생성되는 객체다.메서드 호출을 줄이는 것이 주 목적이다.Model Class 는 non-nullable 한 값만 가지고 있는 것이 좋다.Json 데이터는 문서에
특정 모듈이 의도한 대로 잘 작동하는가를 테스트하는 것이다.가능한 모든 가능성의 범위를 테스트하는 것이 좋은 테스트 케이스다.장애에 관한 신속한 피드백개발 주기에서 조기 장애 감지회귀에 신경 쓸 필요 없이 코드를 최적화할 수 있도록 하는 더 안전한 코드 리팩터링기술적
Model View Controller의 약자로 에플리케이션을 세가지의 역할로 구분한 개발 방법론이다. 아래의 그림처럼 사용자가 Controller를 조작하면 Controller는 Model을 통해서 데이터를 가져오고 그 정보를 바탕으로 시각적인 표현을 담당하는 Vie