[dynamic]
dynamic 타입은 변수가 모든 종류의 객체를 나태낼 수 있음을 의미한다. 즉, 컴파일러가 해당 변수의 타입을 검사하지 않고 실행시간(runtime)에 변수의 실제 타입이 결정된다. 즉, dynamic 변수는 어떤 종류의 객체든 할당 할 수 있고 객체의 메서드나 속성을 호출할 때는 실행 시 동적으로 결정 된다.
[object]
object은 모든 dart 객체의 상위 클래스이다. 모든 dart 클래스는 암시적으로 object를 상속 받기 때문에 모든 객체는 object로 취급 될 수 있다.
[요약]
dynamic은 변수에 할당된 객체의 실제 타입을 컴파일 시간이 아닌 실행 시간에 결정한다.
Object는 모든 Dart 객체의 상위 클래스이며, 모든 객체에 대한 일반적인 메소드를 제공한다.
[유의할 점]
dynamic 은 메소드를 잘못 입력해도 IDE에서 오류를 감지하지 않는다. 이유는 dynamic 타입이 runtime 중에 결정 되기 때문이다.
반대로 object 는 IDE에서 오류를 검출 해 내 준다. 또한, 실제 객체의 타입에 따라 IDE는 해당 객체에서 사용할 수 있는 메소드들을 추천하거나, 잘못된 메소드 호출을 경고한다.
'Flutter' 카테고리의 다른 글
link : fatal error lnk1168 오류 (0) | 2024.07.01 |
---|---|
Flutter 안드로이드에서 WebView Video 띄우기 - Youtube 재생하기 (0) | 2024.06.25 |
flutter - KeyedSubtree 사용 (0) | 2024.06.19 |
Flutter 에서 사용 되는 Size의 단위 (0) | 2024.06.14 |
Unsupported operation: Infinity or NaN toInt (0) | 2024.06.12 |