클래스는 보통 일반 클래스와 추상 클래스로 나뉜다.추상 클래스는 클래스 안에 추상 메소드가 하나 이상 포함되거나abstract로 정의된 경우이다. 인터페이스는 모든 메소드가추상 메소드인 경우이다. 추상 클래스와 인터페이스의 차이는명확하다. 구조, 사용법 등이 다르다. 하지만 하는 일은 비슷하다. "추상 클래스와 인터페이스는 상속받는 클래스 또는 구현하는 인터페이스 안에있는 추상 메소드를 구현하도록 강제한다." 라고 하는데 한번 읽어 본다면 "추상 메소드를 구현하는것" 이라고만생각될 수 있다. 그럼, 추상 클래스 하나만 존재를 해야하고추상 클래스 안에 추상 메소드를 여러개를 만들거나 전부 추상 메소드로만 두면될 것인데 왜 인터페이스가 존재하는 것일까? 이것은 인터페이스와 추상 클래스의 존재 목적이 다르기 ..