class Base{
 void method(){・・・}
 ・・・
}
class Derived : Base{
 void method(){・・・}
 void method2(){・・・}
 ・・・
}

で、
Base obj = new Derived();
obj.method();
とできるのはなぜ?
これじゃobj.method2()とできないから
Derived obj = new Base();
obj.method();
と書くべきじゃないですか?