コツコツ学習ブログ

プログラマのweb上のメモ的なもの

関数オブジェクト

関数とは

何らかの入力(Input)を受け取り、何らかの処理(Process)を行い、 何らかの出力(Output)を返すものという概念 メソッドも、クラスに属する一種の関数といえる。 しかし、関数にとって名前は重要ではない

第1級オブジェクト

プログラムの実行中に生み出したり、変数に代入できるものを 第1級オブジェクトという。 例:インスタンス、データ構造(配列や構造体)、データ(数値や文字)、関数 -> Javaでは、関数を第一級オブジェクトとして捉えるため、 関数を変数に代入することが可能

Javaにおける第一級オブジェクトの特性

  • 変数に代入できる
  • プログラム実行中に実体を生成できる
  • 引数として渡せる

変数へのメソッド参照の格納

変数名 = クラス名::そのクラスの静的メソッド名 変数名 = インスタンス変数名::そのインスタンスのメソッド名

java.util.functionパッケージ

代表的な関数インタフェースがあらかじめ準備されているパッケージ