{% seo %}Important concepts | myHobbyBest
Important concepts
포스트
취소

Important concepts

Important concepts

Dart 언어에 대해 배울 때 다음 사실과 개념을 염두에 두기바란다.

변수에 넣을 수 있는 모든 것은 객체이며 모든 객체는 클래스의 인스턴스이다. 심지어 숫자, 함수 및 null 까지도 개체이다. null을 제외한 모든 개체는 Object 클래스에서 상속된다. (주: Null 안전성이 Dart 2.12에서 도입되었다. null 안전성을 사용하려면 언어 버전이 2.12 이상이어야 한다.)

  • Dart는 강력한 type 언어이지만 Dart는 type을 유추할 수 있으므로 type 주석은 선택 사항이다. 위의 코드에서 숫자(number)는 int 유형으로 유추된다.

  • null 안전성을 활성화하면 허용하는 것으로 지정하지 않는 한 변수에 null이 포함될 수 없다. type 끝에 물음표(?)를 넣어주면 변수를 null 이 허용된다. 예를 들어, int? type 변수는 정수이거나 null일 수 있다. 표현식이 null로 평가되지는 않는 것으로 알고 있지만 Dart가 동의하지 않는 경우라면 null이 아니라고 주장하기 위해 !를 추가할 수 있다. (null인 경우 예외를 throw한다.)
    예: ` int x = nullableButNotNullInt!`

  • 모든 유형이 허용된다고 명시적으로 말하고 싶다면 Object? 유형을 사용한다. (null 안전을 활성화한 경우), Object 또는 런타임까지 유형 검사를 연기해야 하는 경우 특수 유형 dynamic를 사용한다.

  • Dart는 List<int>(정수 리스트) 또는 List<Object>(모든 유형의 객체 리스트)와 같은 제네릭 타입을 지원한다.

  • Dart는 최상위 함수(예: main())와 클래스 또는 객체 (각각 정적 및 인스턴스 메서드)에 연결된 함수를 지원한다. 함수 내에서 함수(중첩 또는 로컬 함수)를 생성할 수도 있다.

  • 마찬가지로 Dart는 클래스 또는 객체(정적 및 인스턴스 변수)에 연결된 변수뿐만 아니라 최상위 변수를 지원한다. 인스턴스 변수는 때로는 필드 또는 속성이라고도 한다.

  • Java와 달리 Dart에는 public, protected 및 private 키워드가 없다. 식별자가 밑줄(_)로 시작하면 라이브러리 전용(private)이다. 자세한 내용은 라이브러리 및 가시성을 참조한다.

  • 식별자는 문자 또는 밑줄(_)로 시작할 수 있으며 그 뒤에 문자와 숫자의 조합이 올 수 있다.

  • Dart에는 런타임 값이 있는 표현식과 그렇지 않은 명령문이 모두 있다. 예를 들어, 조건식 condition ? expr1 : expr2는 expr1 또는 expr2의 값을 가진다. 값이 없는 if-else 문과 비교해보자. 명령문에는 종종 하나 이상의 표현식이 포함되지만 표현식은 명령문을 직접 포함할 수 없다.

  • Dart 도구(IDE)는 경고와 오류라는 두 가지 문제를 보고할 수 있다. 경고는 코드가 작동하지 않을 수 있다는 표시일 뿐 프로그램 실행을 막지는 않는다. 오류는 컴파일 타임 또는 런타임 오류일 수 있다. 컴파일 오류는 코드가 전혀 실행되지 않는다. 런타임 오류는 코드가 실행되는 동안 예외가 발생한다.

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.

Comments

Keywords

Comments powered by Disqus.