2017-11-29 8 views

답변

0

HashSetSet입니다. Set 인터페이스로 정의 된 계약을 구현합니다. 따라서 클래스 계층 구조를 확인하지 않고도 해당 인터페이스를 구현한다는 점을 분명히하는 것이 유용합니다.

AbstractSet<E>을 확장한다는 것은 구현 세부 사항입니다. 향후 Java 버전에서 AbstractSet을 확장하는 것을 중지 할 수도 있지만 (가능성은별로 없겠지만) 항상 Set을 구현합니다.

0

물론 set 인터페이스를 구현하지 않으면 제대로 작동합니다. 그러나 모든 프로그래머가 클래스의 전체 계층을 보지 않고도 코드를 올바르게 이해할 수 있도록 코드를보다 읽기 쉽게 작성하기 위해 수행됩니다. 또한 위험을 최소화하기 위해 미래에 발생할 수 있습니다 (HashSetAbstructSet을 구현하지 않지만 매우 그렇습니다).