本記事は、Java のワイルドカード型 (Hoge<? extends T> とか Fuga<? super T> みたいなやつ) について、部分型関係の定義から一歩ずつ丁寧に解説することを目指して執筆した。 具体例の Java コードはこちらの GitHub レポジトリに上げているので、手元でいじって動かしながら本記事を読み進めることを勧める。 なお、本記事内では、Java の言語仕様書内で明示的に定義されていない用語についても、『Effective Java 第3版』での用法を参考に適宜使用している (「ワイルドカード型」もその一つ)。 目次: 部分型関係 定義 Java での部分型関係 …