勉強していて分からない点があります。
あるクラスのインスタンスを生成するときに、
そのクラス型ではなくて、上位クラスの型でもつことがあります。
例えば、List型のサンプルでよく見る、
List<String> list = new ArrayList<String>(); や、
Map map = new HashMap(); など。
このとき、listはArrayListのメソッドを使えるし、
mapはHashMapのメソッドを使えます。
しかし・・・
なぜ、上位クラスの型でインスタンスを生成するのでしょうか?
今一番、大きな謎です。
これはポリモーフィズムという、
オブジェクト指向の代表例みたいですね。
業界用語で説明すると、
サブクラスの参照をスーパークラスの参照型変数に格納できる機能。
オブジェクト指向の基本的な機能みたいですね。
私は今日このことを調べていたので、
Sun時代のJavaプログラマー資格(SCJ-P)を持っている、
職場の同僚に質問したところ、
・・・?という答えが返って来ました。
多くのプログラマーが、
そういう状態ではなかろうかと想像します。
それでは応用が効きません。
本講座の読者のあたなは、
本質的なところまでしっかり理解して、
価値の高い人材になりましょうね^^