-"공통성과 본질을 모아 추출" 예를 들면, 서울의 지하철 노선도는
서울의 지리를 추상화 시켜서 보여주는 대표적인 예라 할 수 있습니다.
중요한 부분을 강조하기 위해 불필요한 세부사항들은 제거하고
가장 본질적이고 공통적인 부분만을 추출하여 표현 하는 것.
같은 맥락에서, 객체 지향 프로그래밍에서 의미하는 추상화는
객체의 공통적인 속성과 기능을 추출하여 정의하는 것을 의미합니다.
모든 이동수단은 전진과 후진을 할 수 있단 공통점
이것을 자바 문법 요소를 사용하여 표현하면,
자동차와 오토바이라는 하위 클래스(sub-class)들의
공통적인 기능(전진과 후진)을 추출하여
이동수단이라는 상위 클래스(super class)에 정의 했습니다.
위의 예제에서는 편의상 공통적인 기능(메서드)만 추출했지만,
공통적인 속성(변수)도 추출하여 선언하는 것이 가능합니다.
위에서 살펴본 내용을 코드로 표현해본다면 ?
참고로 자바에서 추상화를 구현할 수 있는 문법 요소로는
이번 예제 에서는 인터페이스를 사용해보겠습니다.