* 単一式関数 … なぜかprintlnができない。。。
高階関数 … 他の関数を受け取るor返す
ラムダ(lambda) … 無名関数。ラムダ式。ラムダの結果。
不変(Array) … 同じ型でなければならない。(そもそもlistは不変ではない)
共変(out) … 上位の型に下位の型を入れることが出来る。設定といっても初期値(val)として。取り出す(参照)ときには上位の型として取り出す。
反変(in) … 下位の定義を上位の定義を設定できる。 設定とはvar変数に値をいれること。参照するときは上位の型として参照する。
オブジェクト式 … スコープがどこで宣言するかに依存。ファイルレベルならすぐ初期化。クラス内部ならクラス初期化時初期化。
コンパニオンオブジェクト … 他のクラス内部で宣言。クラス初期化時に初期化。もしくは直接呼び出したとき初期化。