Interface 나 abstract Class 는 상속(extends)받거나, 구현(implements) 하는 Class 가 Interface 나 Abstract Class 안에 있는 Abstract Method 를 구현하도록 강제하는 공통점을 가지고 있다. 그렇다면 Interface 와 Abstract Class 두 종류가 존재하는건 왜일까? 결론부터 말하자면, Interface 와 Abstract Class 는 존재 목적이 다르다 Interface Interface 는 부모, 자식 관계인 상속 관계에 얽메이지 않고, 공통 기능이 필요할 때 Abstract Method 를 정의해놓고 구현(implements) 하는 Class 에서 각 기능들을 Overriding 하여 여러가지 형태로 구현할 수 있기에..