추상클래스를 사용하는 이유

interface는 추상클래스랑은 다르게 규격, 규약에 가깝다. 준수해야하는 규칙이다.

SOLID 에서 I 에 해당하는 ISP 보면 알 수 있듯이 이 Interface는 최소한으로 잡으며, Interface마다 분리해서 설계한다.

여기서 만약 특정 Interface를 준수하여 작성된 하위클래스 3개가 있다고 하자.

이 3개의 클래스들은 어느정도 공통성을 가진 기능을 구현해야할 수도 있을 것이다.

이럴때 추상클래스를 Interface와 하위클래스들 사이에 구현하며 이 추상클래스에서 공통된 기능들을 구현한다.

Share