switch,ifの排除は「その効能」でしかなくoops (Object Oriented ProgramingS)の本質的な処を知りたいなら、c++はポリモーフィズムを言語しように組み込んでいるのだからjavaだけじゃなくてc++もしっかり勉強してc++の側からも見えるようになると理解出来るようになるだろう