asInstanceOf isInstanceOf classOf の3つはscalaのキーワードというか予約語ではないです。文法上はあくまでメソッドです。けどよくよく考えると半分予約語というか、特殊な存在です。 なぜ特殊な存在かというと、これらはすべて型引数を1つだけとります。そして、実際の引数は取りません。javaでもscalaでもそうですが、受け渡す型引数によって、実行時に戻り値を変更するというのはできないはずです*1 javaを知っている人にとっては、この3つに関して、そのまま対応するものがあるのでわかりやすいはずです。以下その対応表 説明 scala java 一般的にいうキャスト val str = obj.asInstanceOf[String] String str = (String)obj; あるインスタンスが、その型かどうかを調べる if(obj.isInstance