추상화추상화는 객체의 공통적인 속성과 기능을 추출하여 정의하는 것을 의미한다. 상속과는 반대로 기존 클래스들의 공통적인 요소들을 뽑아 상위 클래스를 만들어내는 것이라고 할 수 있다.위의 그림을 보면 자동차와 오토바이의 공통적인 분모들을 모아 이동수단이라는 클래스에 담았다. 이렇게 공통적인 속성과 기능을 모아 정의해주면 코드의 중복을 줄일 수 있고 보다 효과적으로 클래스 간의 관계를 설정할 수 있으며 유지/보수가 용이해진다. 자바에서는 주로 추상 클래스와 인터페이스라는 문법 요소를 사용해 추상화를 구현한다. abstract 제어자abstract 제어자란 주로 클래스와 메서드를 형용하는 키워드로 사용되는데 메서드 앞에 붙은 경우 추상메서드(abstract method), 클래스 앞에 붙은 경우를 추상 클래스..