인터페이스와 추상클래스의 차이

정하윤·2023년 8월 23일
0

추상 클래스

  • 추상 메서드란 구현부가 없는 메서드를 추상메서드라 하는데 그 메서드를 가지고 있는 클래스가 추상 클래스이다.
  • 다른 클래스 작성에 도움을 주기 위한 것, 인스턴스 생성 불가함
  • 상속을 통해 추상 메서드를 완성해야 인스턴스 생성이 가능
  • 꼭 필요하지만 자손마다 다르게 구현될 것으로 예상되는 경우 사용
  • 추상 클래스를 상속받은 클래스는 추상 클래스 안에 있는 모든 추상 메서드를 구현해야한다.

인터페이스

  • 추상 클래스가 미완성 설계도라면 인터페이스는 기본 설계도라 할 수 있다.
  • 인터페이스도 추상 클래스 처럼 다른 클래스를 작성하는데 도움을 주는 목적으로 작성하고 클래스와 다르게 다중상속(구현)이 가능합니다.

인터페이스와 추상클래스의 차이점

  • 추상 클래스는 extends 키워드를 사용하여 상속하며, 다중 상속이 불가능 하지만 인터페이스는 implemenets 키워드를 사용하여 상속하며, 다중 상속이 가능하다.
  • 추상 클래스는 일반 변수, 생성자, 일반 메서드, 추상 메서드를 모두 가질 수 있는 반면 인터페이스는 상수와 추상 메서드만 가질 수 있고, 생성자와 일반 변수는 가질 수 없다.
  • 추상 클래스는 추상 메서드를 자식 클래스가 구체화하여 그 기능을 확장하는데 목적이 있고, 인터페이스는 서로 관련이 없는 클래스에서 공통적으로 사용하는 방식이 필요하지만 기능을 구현할 필요가 있는 경우에 사용 한다.

0개의 댓글