추상클래스 vs 인터페이스
·
프로그래밍 일반
클래스를 설계하다 보면 추상클래스와 인터페이스 중 무엇을 써야 할지 막히는 순간이 옵니다. 이 글에서는 두 개념의 차이를 짚어보고, 어떤 상황에서 각각을 선택해야 하는지 알아보겠습니다.1. 추상클래스, 인터페이스란?추상클래스는 일반 클래스와 비슷하지만, 구현이 없는 abstract 메서드를 하나 이상 포함할 수 있습니다. 자식 클래스는 이 메서드를 반드시 구현해야 하며, 직접 인스턴스화할 수 없습니다.인터페이스는 메서드 시그니처만 정의하는 순수한 틀입니다. 구현은 전혀 없고, 이를 채택한 클래스가 모든 메서드를 구현할 책임을 집니다. 마찬가지로 직접 인스턴스화할 수 없습니다.2. 판단 기준 - 구현을 공유할 것인가?추상클래스와 인터페이스를 선택하는 가장 핵심적인 기준은 메서드 구현을 자식 클래스와 공유할..