예: ` 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)는 경고와 오류라는 두 가지 문제를 보고할 수 있다. 경고는 코드가 작동하지 않을 수 있다는 표시일 뿐 프로그램 실행을 막지는 않는다. 오류는 컴파일 타임 또는 런타임 오류일 수 있다. 컴파일 오류는 코드가 전혀 실행되지 않는다. 런타임 오류는 코드가 실행되는 동안 예외가 발생한다.
새 버전의 콘텐츠를 사용할 수 있습니다.
Comments powered by Disqus.