Swift에서는 as?로 안전하게 type casting을 할 수 있었다.class A {}class B: A {}class C {}let a = A()let b = B()b as? C // nilDart는 as keyword로 type casting을 할 수 있지만, incompatible type으로 casting을 시도하면 type error가 발생한다.Error 없이 type casting을 하려면 type check를 먼저 해야 한다.class A {}class B extends A {}class C {}final a = A();final b = B();a as C // type errorif (a is B) { a as B // OK}매번 type check를 해서 casting하기 번거로우..