특정 리모컨을 사용하여 특정객체를 조작하는 경우 해당 리모컨에 정의 또는 선언된 메소드만 사용할 수 있음(리모컨 타입에 의해 결정된다)
하지만 실제 호출되는 메소드는 리모컨이 가리키는 객체에 의해 결정됨(이게 다형성)
Pet, dog, cat 에서 Pet이 가진 리모컨으론 Pet이 가진 메소드들만 사용할 수 있다. 만약 dog 가 bark()라는 메소드를 가지고 있다하더라도 Pet이 가진 리모콘으론 사용할 수 없다. 하지만 여기서 Pet이 setName()메소드를 가지고 있을때 dog쪽에서 setName()을 오버라이드 재정의를 해주었다면 재정의된 setName()을 사용된다.
다형성을 위해서는 늦은 바인딩이 제공되어야 한다.
final 메소드로 이른 바인딩을 해줄 수 있다.(중요한건 아님)
자바는 모든 메소드가 자동으로 늦은 바인딩을 제공함