공통점
💡 모든 타입을 받을수 있다.
자바스크립트와 유사.
var
- var로 선언된 변수에 값이 넣어진 경우 그 값이 가진 타입으로 바뀌며 다시 바뀔수 없다.
- 자바스크립트에 var와는 다르다.
- 컴파일 시점에 오류를 잡아낸다.
var a = 1;
~~a = "aa"~~
dynamic
- var와 반대되며 타입 자체가 모든걸 허용하기에 재할당 할때마다
다른 타입에 값을 넣는게 가능하다
- 자바스크립트에 변수선언과 같은 성질을 띈다.
- 런타임 시점에 오류를 잡아낸다.
dynamic a = 1;
a = "aa"
dynamic을 쓰면 안되는 이유
💡 자바를 배운 입장에선 동적으로 계속 변할수 있는
타입은 굉장히 위험하다고 생각한다.
dynamic을 활용하면 이러한 행동들이 가능하다.
dynamic num = [];
num.add(1);
num.add(null);
num.add("add");
num.add(true);
💡 굉장히 위험하다고 생각하며
자바에 제네릭을 무시하는 코드이고
많은 오류가 나올수있기에
사용을 안하는방향으로 추천하고 싶다.