2.6.1 타입 매개변수를 가진 Dynamic
2.6.1 타입 매개변수를 가진 Dynamic
Dynamic은 타입 매개변수(type parameter)를 사용하거나 사용하지 않고 선언할 수 있는 특별한 타입이에요. 타입 매개변수가 제공되면, Dynamic에 설명된 의미가 "모든 필드가 매개변수 타입과 호환된다"는 것으로 제약됩니다:
var att : Dynamic<String> = xml.attributes;
// valid, value is a String
att.name = "Nicolas";
// dito (this documentation is quite old)
att.age = "26";
// error, value is not a String
att.income = 0;
본문
제약된 Dynamic
Dynamic<T>는 필드의 값이 타입 T와 호환되어야 한다는 제약을 가진 Dynamic이에요. 예를 들어 Dynamic<String>의 필드에는 문자열만 할당할 수 있고, 정수(0)를 할당하면 타입 오류가 발생합니다. 이는 Dynamic의 유연함을 일부 유지하면서도 어느 정도 타입 안전성을 보장하는 방법이에요.