[Java] 추상클래스 vs 인터페이스
클래스는 크게 일반 클래스와 추상 클래스로 나뉘고, 추상 클래스란 클래스 내부에 추상 메서드가 하나 이상 포함되거나 abstract로 정의된 경우를 말한다. 반면, 인터페이스는 모든 메서드가 추상 메서드인 경우이다. 단순히 생각하면, 모든 메서드가 추상 메서드이냐 아니냐에 따라 추상 클래스와 인터페이스를 구분할 수 있을 것 같지만, Java8 이후부터는 default 키워드를 이용해 인터페이스에서 일반 메서드의 구현도 가능하기 때문에 확실한 차이점이라고는 할 수 없다. 그렇다면 추상메서드와 인터페이스는 뭐가 다른 걸까? 🤔 일단, 생김새도 다르고 사용하는 방법도 다르지만 하는 일은 비슷해 보인다. 하지만, 애초에 이 둘은 존재 목적이 다르다. 추상 클래스는 해당 클래스를 상속받아 기능을 이용하고, 확장시..