자바의 추상클래스는 사실 어떻게 사용하는가도 중요하지만 추상클래스를 왜 사용해야하는가? 이게 더 중요한 문제인것 같다. 자바라는 객체 지향 프로그래밍에서 제일 중요한것은 클래스를 통한 객체화이다. 클래스를 여러가지 생성해서 각 클래스마다 특징을 규정하고 여러 클래스들을 상속받고 결합하고 지지고볶고 해서 프로그램을 구현해낸다. 그것이 절차 지향과의 큰 차이점인데 프로그램을 순서대로 구현하는 것이 아닌 각각 부분을 구현 해놓은 뒤 필요하면 가져와서 사용하는 것이다. 그것이 객체 지향 프로그래밍의 사용 방법이다. 여기서 추상클래스란 무엇인가 말그대로 실체를 가진것이 아닌 추상적인 클래스라는 것인데, 클래스 앞에 abstract가 붙으면 이 클래스는 추상적인 클래스가 되서 안에 존재하는 모든 변수, 메서드 등등..