예제 2
java.util.Date 클래스와 파생된 java.sql.Date 클래스는 동일 이름을 공유한다(그림 3.13 참조). 컴파일러가 기초 클래스와 파생 클래스 이름이 동일한 것을 불평하지 않는 이유는 두 클래스가 다른 패키지에 속해 있기 때문이다. 하지만 두 클래스의 사용자 입장에서는 아주 혼란스럽다. 예를 들어, 프로그램에서 두 클래스를 동시에 import로 가져오면, 클래스 이름을 명시적으로 한정하는 방법을 사용하여 수동으로 해소해야 하는 이름 모호성 문제를 초래할 것이다.

▲ 그림 3.13 JDK에서 이름이 동일한 Date 클래스(예제 2)