共変と反変

共変(covariant)は型パラメータの型を特化する。サブクラスの取り扱いを許容し、戻り値の型パラメータで指定できる。
反変(contravariant)は型パラメータの型を汎化する。スーパークラスの取り扱いを許容し、コンストラクタ、メソッド、関数などの入力となる引数の型パラメータに指定する。

この記事へのコメント

この記事へのトラックバック