
클래스는 C++의 기본 추상화 단위다.클래스를 작성할 때추상화 원칙을 적용하여 인터페이스와 구현을 최대한 분리하는 것이 좋다.특히 데이터 멤버를 private로 지정하고게더와 세더를 제공하는 것이 바람직하다.인터페이스 클래스와 구현 클래스앞서 설명한 기준과 바람직한 설계 원칙을 적용하더라도C++언어와 추상화 원칙에 잘 맞지않는 부분이 있다.C++에서는 public 인터페이스와 private(또는 protected) 데이터 멤버 및 메서드를모두 클래스 정의에 작성하기 때문에클래스 내부 구현사항이 클라이언트에 어느 정도 노출될 수밖에 없다.그러므로 비 public 메서드나 데이터 멤버를 클래스에 추가할 때마다이 클래스를 사용하는 클라이언트 코드를 매번 다시 컴파일해야 하는 단점이 있다.프로젝트가 커질수록 이..