Item 20. 추상 클래스보다는 인터페이스를 우선하라
추상 클래스 vs 인터페이스
상속/구현하는 클래스의 계층 구조 생성 여부
기본 기능에 부가 기능을 추가하는 방법
두 가지의 장점을 모두 취하는 추상 골격 구현
interface Interface {
default void print() {
System.out.println("기반 메서드");
}
}
abstract class AbstractInterface implements Interface {
@Override
public int hashCode() {
return super.hashCode();
}
@Override
public boolean equals(Object obj) {
return super.equals(obj);
}
@Override
public String toString() {
return super.toString();
}
}Last updated