구현 상속
부모의 필드·메서드와 prototype 관계가 런타임에 남는다
두 키워드는 모두 타입 관계를 만들지만 실행 코드가 재사용되는지는 다르다.
부모의 필드·메서드와 prototype 관계가 런타임에 남는다
부모 계약을 유지하며 일부 구현을 바꾼다
컴파일 시 인터페이스 요구를 만족하는지만 검사
여러 역할은 객체 협력으로 결합하면 결합도가 낮다
핵심is-a 관계와 공통 구현이 분명하면 extends, 여러 구현에 같은 표면만 요구하면 implements를 쓴다.