오브젝트; 업캐스팅과 동적 바인딩
실행 시점에 메서드를 탐색하는 과정을 살펴보자. 다음은 다익스트라 교수가 강의하는 알고리즘 과목의 성적 통계를 계산하는 코드다. Lecture대신 아래와 같이 GradeLecture로 전달할 수 있다 생성자의 인자 타입은 Lecture로 선언되어 있지만 GradeLecture의 인스턴스를 전달하더라도 아무 문제 없이 실행된다. 동일한 객체 참조인 lecture에 대해 동일한 evaluate메시지를 전송하는 동일한 코드 안에서 서로 다른 클래스 안에 구현된 메서드를 실행할 수 있다는 사실을 알 수 있다. 이처럼 코드 안에서 선언된 참