인터페이스 VS 추상클래스

Minsang Kim·2023년 11월 14일
0

오늘으 질문

인터페이스와 추상클래스의 차이를 설명해주세요.

오늘으 답변

인터페이스와 추상클래스는 객체 지향 프로그래밍의 다형성을 나타내기 위한 개념으로 단독으로 인스턴스가 불가능하며 상속받을 클래스가 정의해야할 추상 메소드를 정의하는 개념입니다.
차이점은 인터페이스는 interface 키워드를 사용하고 클래스가 아니기 때문에 다중 상속이 가능해 컴포넌트로써 읽는 것이 가능해진다는 장점이 있지만, 추상 메소드만 포함할 수 있으며, public 접근 제한자를 명시해야 합니다.
추상클래스는 abstract 키워드를 사용하고 접근 제한자에 제한이 없으며 비추상 메소드가 포함될 수 있지만, 다중 상속이 불가능합니다.

+ TMI

공통점

  • 추상 메소드를 가지고 있어야 한다.
  • 인스턴스 불가능
  • 상속받아 구현된 구현체의 인스턴스를 사용해야 한다.
  • 상속받은 구현체는 추상 메소드를 반드시 구현해야 한다.

차이점

--인터페이스추상클래스
키워드interfaceabstract
접근 제한자public모두
다중 상속가능불가능
속도상대적 느리지만 무시 가능상대적 빠름
필드불가능가능
메소드Only 추상 메소드비추상 메소드 가능
profile
게임만 하다가 개발자로

1개의 댓글

comment-user-thumbnail
2023년 11월 14일

정보에 감사드립니다.

답글 달기