1. extends
- 부모에서 선언 / 정의를 모두하며 자식은 메소드 / 변수를 그대로 사용할 수 있음
2. implements (interface 구현)
- 부모 객체는 선언만 하며 정의(내용)은 자식에서 오버라이딩 (재정의) 해서 사용해야함
3. abstract
- extends와 interface 혼합. extends하되 몇 개는 추상 메소드로 구현되어 있음
정리
- extends
- abstract class -> 일반 class
- 일반 class -> 일반 class
- interface -> interface
- 한개만 상속 가능
- 자식이 부모의 변수, 메소드 그대로 사용
- implements
- interface -> 일반 class
- 다중 상속 가능
- 설계 목적
- implements 받은 자식에서는 재정의하여 사용해야함.
- implements의 내용을 모두 사용(재정의) 해야한다.
source : https://velog.io/@hkoo9329/%EC%9E%90%EB%B0%94-extends-implements-%EC%B0%A8%EC%9D%B4