extends와 implements의 차이

알파·2022년 8월 30일
0

extends

  • 상속의 대표적인 형태.
  • 모든 선언/정의를 부모가 하며, 자식은 오버라이딩할 필요 없이 부모의 메소드/변수를 그대로 사용할 수 있다.
  • 필요에 따라 오버라이딩도 할 수 있다.
  • 다중상속이 불가능하다.

implements

  • 부모는 선언만 하고, 자식이 정의를 오버라이딩해서 사용한다.
  • 여러 개의 interface를 상속 받을 수 있으며, 자식 클래스는 부모의 기능을 다시 정의해서 사용해야 한다.

-> class가 class를 상속받을 땐 extends를 사용하고, interface가 interface를 상속받을 땐 extends를 사용한다.

결론을 말해주면
일반클래스와 추상클래스를 상속할때는 extends를 사용하고 interface를 상속할 때는 implements를 사용한다.
class가 interface를 상속받을땐 implements가 될 것이고, interface가 class를 상속받을땐 extends를 사용하게 된다.

상속을 위해서 오버라이딩이 없는 extends를 사용하지만 다중 상속을 위해서는 implements를 사용해야하고,

implements는 클래스 단위가 아닌 interface를 상속할때 사용이 되므로,
정확한 개념의 이해가 필요할듯 하다.

마무리는 사진을 보면서 이해를 하도록 하겠다.
클래스는 단일 클래스 상속을 위해 extends, 인터페이스를 상속하기 위해는 implements
인터페이스는 인터페이스를 상속하기 위해 extends 를 사용한다.

출처: https://thenicesj.tistory.com/133

profile
I am what I repeatedly do

0개의 댓글