지난 시간에는 객체지향 프로그래밍의 한 요소인 캡슐화에 대해 다뤄보았다. 이번 시간에는 객체지향 프로그래밍의 요소인 추상화에 대해 알아보고자 한다. 추상화란 말은 어려워 보이지만 실상 안으로 들어가 보면 생각하기에 따라 참 단순한 개념이라고 할 수 있다. 이번 포스팅에서는 최대한 이것을 알기 쉽게 설명해 보고자 한다. 첫 번째로 예를 들자면 강아지, 고양이, 양, 소 이렇게 4마리의 동물이 있다고 했을 때 이것들을 하나로 묶기 위한 공통의 카테고리를 뽑는다면 무엇으로 뽑겠는가? 필자라면 문제에 답이 있다고 동물이라는 카테고리로 강아지, 고양이, 양, 소를 묶을 것이다. 이렇게 동물이라는 카테고리로 묶는다고 하였을 때 동물이 추상 클래스(abstract), 그리고 강아지, 고양이, 양, 소가 동물이라는 추..