다형성(polymorphism)이란 객체지향 프로그래밍에서 동일한 메시지가 객체에 따라 서로 다른 방식으로 처리될 수 있는 능력을 말합니다. 이는 주로 상속과 메서드 오버라이딩을 통해 구현되며, 같은 함수 호출이 객체의 실제 타입에 따라 다르게 동작할 수 있게 합니다. 따라서 보기 4의 "한 메시지가 객체에 따라 다른 방법으로 응답할 수 있는 것"이 다형성의 올바른 설명입니다.