> For the complete documentation index, see [llms.txt](https://byulseop-til.gitbook.io/sinheeseop_til/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://byulseop-til.gitbook.io/sinheeseop_til/java/qna/concepts/interface_vs_abstract.md).

# Interface vs Abstract Class

`인터페이스는 상호작용 또는 사용법을 공통화 하는것, 추상화는 공통집합을(속성과 동작) 뽑아 계층화 시키는 것`

* 추상화 과정에서 집단에 대한 인터페이스화가 자동으로 이루어짐.
* 인터페이스는 단어의 뜻 처럼 상호작용을 중점으로, 사용법을 통일화 시키는 것에 중점이며 그 과정에서 추상화를 함

결국 두 과정은 매우 비슷하지만 사용하는 목적이 다르다. 그렇기 때문에 실제 자바에서도 그러한 차이가 있는듯 하다.
