abstractなclass or trait に、型指定のない名前だけのtype aliasを書くと、派生クラスでこのtype aliasの定義を強制することができます。 abstract class Foo( ) { // 派生クラスで明示する必要があるtype alias // このクラスの派生クラスでは、Xのtype aliasを明示しなければならない。 type X // X型はこのクラス内で使用可能。 var x:X def getX:X = x def setX(value:X):Unit = this.x=value } // Fooの派生クラスを作成。 var foo = new Foo() { // 派生クラスでX型を指定 // 指定しないとコンパイルエラーになる。 type X = String var x = "aaaa" } // メソッド呼び出し。XはStrin