반응형
오늘 일과를 대략 마무리하고 남은 시간에 플루터 구현 언어 dart에 대한 중요한 개념을 정리해본다.
- 다트는 객체지향 언어이며 단일 상속(single inheritance)을 지원한다.
- 다트에서는 모든 것이 객체이며 모든 객체는 클래스의 인스턴스다.
모든 객체는 Object 클래스를 상속 받는다. 심지어 숫자도 기본형이 아니라 객체다. <- Objective-C같은 느낌은 뭐지? ㅎㅎ - 다트는 형식을 갖는다(typed). 문자열을 반환한다고 선언한 함수에서 숫자를 반환할 수 없다.
- 다트는 최상위 수준 함수와 변수를 지원하며 이를 라이브러리 멤버(library member)라 부른다.
- 다트는 어휘적(exically)으로 한정된다.
다트는 형식을 갖는다고 했는데 여기에서 형식을 갖는 프로그래밍 언어에 대해 정리된게 있어 옮겨본다.
/*--------------| 형식을 갖는 프로그래밍 언어 |--------------
변수의 형식을 컴파일 타임에서 알 수 있거나 추론할 수 있다면 형식을 갖는 언어다.
개발자의 입장에서 코드의 변수에 명시적으로 형식을 할당할 수 있다면(또는 반드시 할당해야 한다면) 이는 형시을 갖는 언어다.
런타임에서 형식을 추론한다면 이는 동적(dynamic)언어다. 자바스크립트, 파이썬, 루비는 동적 언어다.
(하지만 내부적으로 모든 언어는 어는 정도 형식을 갖는다.)
형식을 사용하는 코드는 더 안전하다. 숫자를 기대하는 함수에 문자열을 전달하면 컴파일러가 오류를 발생시킨다.
다트는 컴파일 타임에서 형식을 확인한다. 덕분에 출시한 제품에서 함수가 다양한 데이터 형식을 어떻게 처리해야 할지 몰라
충돌되는 일은 더 이상 발생하지 않는다.
형식 시스템의 가장 큰 장점은 버그를 많이 줄일 수 있다.
*/
반응형
'프로그래밍 > Flutter' 카테고리의 다른 글
dart language 초간단 훑어보기 (0) | 2022.09.13 |
---|---|
플러터 SDK설치 후 PATH설정 및 doctor 실행 결과 화면 (0) | 2022.09.13 |
부록A- 플러터 SDK설치 정보 (0) | 2022.09.02 |
1장. 플러터 (0) | 2022.09.02 |
다트(dart2) 맥북 설치 및 -플러터 설치 관련 로그 (0) | 2021.06.08 |