추상 클래스와 인터페이스 자바8부터 인터페이스에 default, static 메서드를 정의할 수 있게 되면서 추상 클래스와 인터페이스를 어떨 때 어떻게 구분해서 사용해야 하는지가 혼란스러워졌다. 이에 인터페이스에 대해 공부하기 전에 추상 클래스와의 차이를 먼저 정리해보았다. 앞선 주차 스터디에서 추상 클래스에 대해서는 이미 학습했었는데, 추상 클래스는 여러 클래스가 가진 공통 속성을 추출하기 위해 사용한다고 했다. K5, 소나타 등의 클래스가 자동차 라는 추상 클래스로 묶일 수 있는 등의 예시를 생각할 수 있을 것 같다. 이들을 추상 클래스로 묶음으로써 클래스 별로 다른 부분을 제외하고 공통적인 속성과 행위를 하나의 클래스에서 관리할 수 있다는 장점이 생기게 된다. 공통점 이 둘의 공통점은 아래와 같다...