자료 추상화 구체적인 클래스는 구현을 외부로 노출하고 추상적인 클래스는 구현을 감춘다. 그저 조회 함수와 설정 함수로 변수를 다룬다고 그것이 클래스는 아니다. 추상 인터페이스를 제공해 구현을 모른 채 자료의 핵심을 조작할 수 있는 것이 클래스이다. 또한 클래스 메소드명도 추상적이게 표현하여 구현을 감추는 것이 더 추상화 된 표현이다. 인터페이스와 조회/설정 함수만으로는 추상화가 이루어지지 않는다. 객체가 포함하는 자료를 표현할 방법을 고민하여 추상화 시켜야지, 아무 생각 없이 조회/설정 함수를 추가하는 방법이 가장 나쁜 표현 방법이다. 자료/객체의 비대칭 객체는 추상화 뒤로 자료를 숨긴 채 자료를 다루는 함수만을 공개한다. 반면, 자료구조는 자료를 그대로 공개하며 별다른 함수를 제공하지는 않는다. 자료구..