추상클래스와 인터페이스
- 추상 클래스
클래스 내 ‘추상 메소드’가 하나 이상 포함되거나 abstarct로 정의된 경우
- 인터페이스
모든 메소드가 추상 메소드인 경우 (자바 8 에서는 default 키워드를 이용해 일반 메소드의 구현도 가능)
- 공통점
상속 받는 클래스 혹은 구현하는 인터페이스 안에 있는 추상 메소드를 구현하도록 강제한다.
- 둘의 차이
존재 목적이 다르다.
추상 클래스는 그 추상 클래스를 상속받아서 기능을 이용하고, 확장시키는 데 있습니다.
인터페이스는 함수의 껍데기만을 가지고 그 함수의 구현을 강제하기 위해서 입니다. 구현을 강제함으로써 구현 객체의 같은 동작을 보장할 수 있습니다.
상속은 슈퍼클래스의 기능을 이용하거나 확장하기 위해 사용되고, 다중 상속의 모호성 때문에 하나만 상속받을 수 있다.
인터페이스를 구현한 객체들에 대해서 동일한 동작을 약속하기 위해 존재
댓글남기기