C++ 클래스 설계의 핵심은 객체에게 명확한 책임을 부여하는 데 있다.
속성(Property)과 메서드(Method)를 적절히 배치하여 객체지향 설계를 실습한 내용을 정리했다.
객체의 책임과 역할 정의
- 속성 정의: 객체의 상태를 나타내는 데이터를 멤버 변수로 정의하고 적절한 초기값을 부여하여 상태를 관리했다.
-
동작 중심의 메서드 설계: 객체가 수행해야 할 동작을 메서드로 정의했다.
객체의 상태를 변경하지 않는 읽기 전용 메서드에는const키워드를 사용하여 안정성을 높였다. -
초기화 리스트 활용: 생성자에서 멤버 변수를 초기화할 때 초기화 리스트를 사용하여 효율을 높였다.
- 캡슐화: 데이터를
private으로 보호하고 필요한 기능만public인터페이스로 노출했다.
설계의 집중점
객체에게 수행할 동작을 중심으로 메서드를 정의하면 설계가 명확해진다.
데이터와 로직이 한곳에 모여 응집도가 높아지면 가독성이 좋아지고 시스템 구조 파악이 용이해진다.
좋은 설계는 객체 간의 원활한 상호작용에서 시작되는 것 같다.