• 추상 클래스

클래스 내 ‘추상 메소드’가 하나 이상 포함되거나 abstarct로 정의된 경우

  • 인터페이스

모든 메소드가 추상 메소드인 경우 (자바 8 에서는 default 키워드를 이용해 일반 메소드의 구현도 가능)

  • 공통점

상속 받는 클래스 혹은 구현하는 인터페이스 안에 있는 추상 메소드를 구현하도록 강제한다.

  • 둘의 차이

존재 목적이 다르다.

추상 클래스는 그 추상 클래스를 상속받아서 기능을 이용하고, 확장시키는 데 있습니다.

인터페이스는 함수의 껍데기만을 가지고 그 함수의 구현을 강제하기 위해서 입니다. 구현을 강제함으로써 구현 객체의 같은 동작을 보장할 수 있습니다.

상속은 슈퍼클래스의 기능을 이용하거나 확장하기 위해 사용되고, 다중 상속의 모호성 때문에 하나만 상속받을 수 있다.

인터페이스를 구현한 객체들에 대해서 동일한 동작을 약속하기 위해 존재

태그:

카테고리:

업데이트:

댓글남기기