Dart의 타입 체크

이건선·2023년 7월 30일
0

Flutter

목록 보기
22/30

Dart의 타입 체크

Dart의 타입 체크는 기본적으로 컴파일 타임에 이루어집니다. 이는 Dart가 정적 타입 언어이기 때문입니다. 그러나 dynamic 타입은 이를 우회하게 해주며, 이에 따른 잠재적인 문제는 런타임에 검출됩니다.

Map<String, dynamic>의 타입 체크는 어떨까요?

예제

Map<String, dynamic> map = {
  'name': 'John',
  'age': 30,
  'isMarried': true,
  'children': ['Alice', 'Bob'],
};

Map<String, dynamic> 타입에서는 String 타입의 키dynamic 타입의 값을 가질 수 있습니다.

dynamic 타입을 사용하는 경우, 타입 체크는 런타임에 이루어지며 컴파일 타임에는 거의 이루어지지 않습니다. 즉, dynamic 타입은 어떤 종류의 값이든 저장할 수 있으며, 이러한 값에 대한 메서드 호출이나 프로퍼티 접근은 런타임에 검사됩니다.

그러므로, Map<String, dynamic> 타입을 사용할 때, 키는 항상 String 타입이어야 하며 이는 컴파일 타임에 확인됩니다. 하지만 값에 대한 타입 체크는 dynamic 타입이므로 런타임에 이루어집니다.

profile
멋지게 기록하자

0개의 댓글