extends vs implements

최승아·2021년 11월 3일
0

1. 상속 (extends)

정의 및 특징

  • 자바에서의 상속은 재활용 + a의 기능을 제공
  • 상속이란, 상위 클래스를 물려받으면서 새로운 메소드나 변수를 추가하거나 변경해서 사용할 수 있도록 하는 것을 말함
  • 즉 기존의 객체를 그대로 유지하면서 어떤 기능을 추가하는 방법
  • 하위 클래스는 상위 클래스의 확장판인 셈
  • extends는 일반클래스와 abstract 클래스 상속에 사용됨

Object

  • 모든 클래스는 Object라는 최상위 클래스를 상속받음 (extends Object 생략되어있음) 👉 Object Class에서는 toString()이나 equal(Object obj) 같은 메소드들이 미리 정의 되어 있어서 사용 가능

생성자

  • 개발자가 명시적으로 생성자를 만들어주면 자바는 기본 생성자를 생성하지 않음
  • super는 상위 클래스를 의미 👉 즉, 상위클래스의 생성자를 생성하라는 의미
  • 인스턴스 변수의 초기화는 인스턴스 변수가 선언된 클래스의 생성자를 통해서 진행하는 것이 가장 좋은 모델이 될 수 있음

2. Implements

특징

  • implements의 가장 큰 특징은 이렇게 부모의 메소드를 반드시 오버라이딩(재정의)해야 함
  • implements는 다중상속을 대신해줌
  • interface 상속에 사용됨
  • implements는 인터페이스를 구현하는 것

출처 : https://asfirstalways.tistory.com/161 | 글쓰는 개발자 _Jbee
https://velog.io/@hkoo9329 | 2019년 12월 15일 | hkoo9329

profile
⭐ 개발 정리 공간 ⭐

0개의 댓글