자바에서 다형성(Polymorphism)은 객체지향 프로그래밍의 특징 중 하나로, 동일한 메소드 호출이 다른 행동을 수행하도록 하는 기능입니다. 이를 가능하게 하는 방법 중 하나가 바로 '캐스팅'입니다. 여기서는 자바의 캐스팅에 대해 알아보고, 업캐스팅과 다운캐스팅을 사용한 예시 코드를 제공하겠습니다. 업캐스팅(Upcasting) 먼저, 업캐스팅에 대해 알아보겠습니다. 업캐스팅은 부모 타입의 참조 변수로 자식 타입의 객체를 다루는 것을 의미합니다. 이를 통해, 부모 클래스 타입의 변수가 자식 클래스 타입의 객체를 참조할 수 있습니다. class Animal { void eat() { System.out.println("먹는다"); } } class Dog extends Animal { void bark(..