항목 18 인터페이스 설계는 제대로 쓰기엔 쉽게, 엉터리로 쓰기엔 어렵게 하자
자 우선 인터페이스란 무엇일까? 인터페이스는 사실 우리가 코드로 작성하여 응용할 수 있는것은 모두 인터페이스다. 함수, 클래스, 템플릿 등 왠만한 것은 다 인터페이스 라고 보면 된다. 그렇다면 이제 항목 18의 제목대로 제대로 쓰기엔 쉽고 엉터리로 쓰기엔 어려운 인터페이스는 어떻게 만들 수 있을까? 우선 날짜를 나타내는 어떤 클래스에 넣을 생성자를 설계하고 있다고 가정하자. class Date { public: Date(int month, int day, int year); ... }; 자 이 클래스는 별 문제가 없어 보인다. 하지만 매개변수의 전달 순서가 잘못될 여지가 열려있다. Date d(20, 1, 2024); // 1, 20, 2024 여야하는데 20, 1을 넣어버렸다! 또한 월, 일, 연도와 ..
2024. 1. 20.