자바코드보면


Foo foo = new Foo()

이런 코드가 많은데 왜 이런 중복이 있는거야?

Animal foo = new Dog()

이런 다형성같은?거 고려해서 그런거야?

Dog foo = new Animal()

이런것도 댐? 일단 동물이긴한데 강아지로 캐스팅하겟다는의도임