프로그래밍에서 '인터페이스(Interface)'와 '추상 클래스(Abstract Class)'의 차이점으로 올바른 것은?
쉬움 freeCodeCamp해설
인터페이스는 '무엇을 할 수 있는가'를 정의하는 계약(contract)으로 구현 코드 없이 메서드 시그니처만 선언합니다(Java 8+ default 메서드 제외). 추상 클래스는 '무엇인가'를 정의하며 일부 메서드의 기본 구현과 인스턴스 변수를 가질 수 있습니다. 대부분의 언어에서 인터페이스는 다중 구현이 가능하지만 클래스 상속은 단일만 가능합니다.