筑波大学第三学群情報学類を卒業したのち,現在は,筑波大学大学院システム情報工学研究科コンピュータサイエンス専攻博士後期課程1年。プログラミング言語や処理系に強い興味を持っている。現在の研究テーマは,プログラミング言語の構文解析アルゴリズム。Scala勉強会を不定期で行うなど,研究の合間にScalaの普及活動を行っている。 前回まで羽生田さんによるScalaの文法的な特徴の紹介がありましたが,今回はゲストということで,Scalaの型システムの概要やそれに関連した機能を紹介します。特にScalaのクラス階層とJavaのクラス階層の違い,Genericsの共変と反変,Existential Type,Structural Type,Compound Typeについて紹介します。 Javaとの類似点 Scalaの型システムの基本的な部分はJavaと非常に類似しています。ScalaはJavaと同様に