Implement와 extends 와 인터페이스 그리고 추상클래스

김효진·2022년 4월 25일
0

추상클래스는 하나의 상속만 가능하다.

인터페이스는 다중상속이 가능하다.
-> 예외, Spring boot에서 Spring-data-jpa를 쓸 때, repository(interface)를 생성하면서 쓸 때, 그럴리는 없지만 repository를 다중상속을 불가능하다.

※ extends를 사용할 경우

  • 일반클래스가 일반클래스를 상속받을 때
  • 일반클래스가 추상클래스를 상속받을 때
  • 인터페이스가 인터페이스를 상속받을 때

※ implements를 사용할 경우

  • 일반클래스가 인터페이스를 상속받을 때
  • 추상클래스가 인터페이스를 상속받을 때

일반클래스가 추상클래스 또는 인터페이스를 상속 받을 시 부모클래스에 있는 메서드를 반드시 오버라이딩을 하여 구현해야한다.

추상클래스 안에는 추상메서드가 존재하지 않을 수 있다.
그리고 추상클래스는 인스턴스화를 하지 못한다.


★ 인터페이스와 추상클래스

▶ 인터페이스안에는 무조건 추상메서드만 존재할 수 있다.

만약, 인터페이스안에 public void find();라는 구현되어있지 않은 메서드가 존재한다고 한다면 이를 실행시켜 컴파일을 하면 public abstract void finde();와 같이 abstract가 붙어서 실행된다.

▶ 추상클래스안에는 추상메서드가 존재할 수 있고 일반 구현된 메서드도 존재할 수 있다. 추상클래스안에 추상메서드를 만들 시에는 abstract를 붙여서 만들게 되어있다.

profile
어제보단 하나라도 나은 오늘이 되자!!💪

0개의 댓글