こんなタイトルを付けてみましたが、これは単なる冗談でなく、「関数型」というなんだか小難しそうなイメージが定着している概念を知ること無く、JavaプログラマにScalaを説明してみようという試みです。この記事で、少しでもScalaに対するとっつきずらさを払拭できたらなあと思っています。 Scalaの主な機能 クラス:Javaのクラスと記法が違いますが、大体同じです。 class A { } トレイト:メソッドも実装できる便利なインタフェースです。 trait A { def hoge() { println("hoge") } } class B extends A {} new B().hoge インタフェースにメソッドが定義できて嬉しいですね。 オブジェクト:GoFのシングルトンパターンを言語レベルでサポートしただけです。 object A { val i = 10 } とかやると、Aと