다형성이란? 객체지향 개념에서는 '여러 가지 형태를 가질 수 있는 능력'을 의미한다. Java에서는 한 타입의 참조 변수로 여러 타입의 객체를 참조할 수 있도록 함으로써 다형성을 프로그램적으로 구현하였다. 구체적으로 말하자면, 부모 클래스 타입의 참조 변수로 자식 클래스의 인스턴스를 참조할 수 있도록 하였다는 것이다. 💡잠깐, 참조 변수 타입과 인스턴스 타입이 같아야 하는 것 아닌가❗❔ → 답은 아니다! 참조 변수 타입과 인스턴스 타입이 일치하는 것이 보통이지만, 서로 상속 관계에 있을 경우, 다음과 같이 부모 클래스의 타입의 참조 변수로 자식 클래스의 인스턴스를 참조하도록 하는 것도 가능하다! 🙄 그러면 왜 이렇게 사용하는 것일까? 그리고 어떤 차이가 있을까? → 일단 어떤 차이가 있는지 알아보고 왜 ..