[타입] dynamic 과 var 의 차이

장동완·2023년 12월 4일
0

오름캠프 Dart 과정

목록 보기
3/4

공통점

💡 모든 타입을 받을수 있다. 자바스크립트와 유사.

var

  1. var로 선언된 변수에 값이 넣어진 경우 그 값이 가진 타입으로 바뀌며 다시 바뀔수 없다.
  2. 자바스크립트에 var와는 다르다.
  3. 컴파일 시점에 오류를 잡아낸다.
var a = 1;
~~a = "aa"~~ // x

dynamic

  1. var와 반대되며 타입 자체가 모든걸 허용하기에 재할당 할때마다
    다른 타입에 값을 넣는게 가능하다
  2. 자바스크립트에 변수선언과 같은 성질을 띈다.
  3. 런타임 시점에 오류를 잡아낸다.
dynamic a = 1;
a = "aa" // o

dynamic을 쓰면 안되는 이유

💡 자바를 배운 입장에선 동적으로 계속 변할수 있는 타입은 굉장히 위험하다고 생각한다.

dynamic을 활용하면 이러한 행동들이 가능하다.

dynamic num = [];

num.add(1);
num.add(null);
num.add("add");
num.add(true);
💡 굉장히 위험하다고 생각하며

자바에 제네릭을 무시하는 코드이고

많은 오류가 나올수있기에

사용을 안하는방향으로 추천하고 싶다.

profile
아기 개발자

0개의 댓글