항목 18: 인터페이스 설계는 제대로 쓰기엔 쉽게, 엉터리로 쓰기엔 어렵게 하자.
인터페이스 설계란 무엇을 말하는 것일까? 클래스의 접근 권한을 이야기 하는것이 아닌, 클래스나 함수, 템플릿의 사용 환경을 말하는것이다. 그렇다면, 엉터리로 쓰게인 어렵게 하자는 말이 도데체 무슨 말일까? void f(int a, int b) 라는 함수가 있다고 치면, 이 두개의 int형은 서로 다른 속성이 있을 것이다. 그런데 사용하는 입장에선 엉터리로 1번째 매개변수 자리에 2번재 매개변수를 넣어도, 함수는 그 데이터 그대로 받아들여, 원하는 연산을 해주지 않게 된다! 그래서, 햇갈려 하는 함수에는 int형이 아닌, 속성을 가진 int형을 넣어 버리면, 제대로 쓰기엔 쉽게 되고 엉터리로 쓰기엔 어렵게 된다!(값을 넣을때 형 변환을... ㅋㅋㅋ) 이런 마인드로 동적 메모리로 할당한 객체의 참조자를 리턴..
책 정리/Effective C++ 3판
2008. 6. 4. 23:50
최근댓글