인터페이스와 추상클래스는 서로 비슷한 듯 다른 기능을 한다. 인스턴스는 클래스가 아닌 인스턴스라는 고유한 형태를 가지고 있는 반면 추상클래스는 일반적인 클래스다. 인스턴스는 구체적인 로직이나 상태를 가지고 있을 수 없고, 추상 클래스는 구체적인 로직이나 상태를 가지고 있을 수 있다.