extends vs implements

Extends

  • 클래스가 클래스를 상속받을 때, 인터페이스가 인터페이스를 상속받을 때 extends를 사용한다.
  • 정의, 선언은 모두 부모 클래스가 하며, 상속받는 자식 클래스는 오버라이딩 없이 부모 클래스의 메소드와 변수를 사용 가능하다.
  • JAVA는 부모 클래스가 두 개 이상 존재할 수 없다. 

Implements

  • 클래스가 인터페이스를 상속하면 implements를 사용한다.
  • interface를 여러 개 상속 받을 수 있다.
  • 부모 클래스는 선언만 하며, 자식 클래스에서 정의를 오버라이딩하여 사용한다.