Dart 언어 오답노트 : 1. var vs dynamic

샤워실의 바보·2023년 10월 24일
0
post-thumbnail

var과 dynamic은 타입 추론 기능의 유무가 결정적인 특징입니다.

  1. var
  • var 키워드를 사용하여 변수를 선언하면, Dart의 타입 추론 기능이 활성화됩니다.
  • 변수에 초기값을 할당하면, Dart는 그 값을 기반으로 변수의 타입을 추론합니다.
  • 초기값을 할당한 후에는 다른 타입의 값을 할당할 수 없습니다.
  • 초기값을 할당하지 않으면, 컴파일러는 에러를 발생시킵니다.
var a = 10;      // int로 타입 추론
var b = 'hello'; // String으로 타입 추론
// a = 'world'; // 에러: a는 int 타입
  1. dynamic
  • dynamic 키워드를 사용하여 변수를 선언하면, 변수의 타입이 런타임까지 결정되지 않습니다.
  • 이는 변수에 다양한 타입의 값을 할당할 수 있음을 의미합니다.
  • dynamic 타입의 변수는 모든 타입의 값을 받을 수 있으며, 컴파일 시에 타입 체크가 이루어지지 않습니다.
  • 이로 인해 런타임 에러가 발생할 가능성이 높아지지만, 더 유연한 코딩이 가능합니다.
dynamic x = 10;
x = 'hello'; // 에러 없음
  1. 결론
  • var: 타입 추론을 사용하여 변수의 타입을 결정하며, 한 번 타입이 결정되면 그 타입만을 사용해야 합니다.
  • dynamic: 런타임까지 변수의 타입을 결정하지 않으며, 모든 타입의 값을 할당할 수 있습니다.

var을 사용하면 코드가 더 안정적이며, 타입 관련 에러를 컴파일 시에 잡아낼 수 있습니다. 반면, dynamic을 사용하면 코드가 더 유연하지만, 런타임 에러의 가능성이 높아집니다. 따라서 상황에 따라 적절한 키워드를 선택하여 사용하는 것이 중요합니다.

profile
공부하는 개발자

0개의 댓글