Java8で体験するオブジェクトと関数の狭間

Java8でlambda構文が導入されることで、Java言語も関数型のような性質をもつことになりました。
関数型の性質として大事なことのひとつに、関数を戻り値として返せるということがあります。lambda構文によって、Javaでも表記上は関数を戻り値として返すことが可能になったわけです。
で、関数を戻り値として返せるとどうなるかというと、関数をオブジェクトのように使えるようになります。まあ、Javaでは関数といっても普通のオブジェクトとして扱われるので、関数としてオブジェクトのようなものが記述できる、ということになります。


では実際に、オブジェクトのようなものを関数として記述してみます。

続きを読む