[Java] 210527

하채린·2021년 5월 27일
1

궁금한 것

  • 상속의 개념
  • extends와 implements의 차이점
  • 어떤 클래스일 때 어떤 상속을 사용하는지
  • abstract 추상메소드

상속(inheritance) :
기존의 클래스를 재사용하여 새로운 클래스를 정의하는 것.
1. 상속과 인터페이스(계층성)
2. 다형성, 사용편의성(모듈화)
3. 캡슐화, 정보은닉
4. 자료 추상화(모델링)
5. 동적 바인딩 등.

extends와 implements의 차이점 :
extends란 상속 개념의 대표적인 형태로, 부모에서 선언하며 자식은 메소드 혹은 변수를 오버라이딩 없이 직접 사용 가능하다.
클래스는 한개만 상속 받을 수 있다.

implements란 부모는 선언만 하며 내용은 자식에서 오버라이딩 해서 사용해야한다.
여러 interface를 implements 가능하며, 자바에서는 다중상속(부모클래스가 두 개 이상 존재하는 것)을 지원하지 않는데 interface가 다형성 구현 역할을 해준다.

어떤 클래스일 때 어떤 상속을 사용하는지 :
extends는 일반 클래스와 abstract(추상) 클래스 상속에 사용되고, implements는 interface 상속에 사용된다.
class가 class를 상속할 때 --> extends 사용
interface가 interface를 상속할 때 --> extends 사용
class가 interface를 사용할 때 --> implements 사용
interface가 class를 사용할 때 --> extends 사용

abstract 추상메소드 :
하나 이상의 추상메소드를 포함하여 일반 메소드도 포함 할 수 있다.
직접 인스턴스 생성은 못하고 상속만을 위해 사용된다.

추상클래스를 상속한 클래스는 추상클래스의 추상메소드를 반드시 구현해야 한다.


참조한 링크

profile
developer d의 왼쪽 커서쯤 🏃‍♂️🏃‍♀️

0개의 댓글