인터페이스가 용도에 맞지 않을 때 용도에 맞도록 중간에서 변환한다. 6.2 어댑터 일반적인 어댑터의 예입니다. Line을 Point들로 변환하는 어댑터를 설명합니다. Point들을 그리는 기능만 있는데 Line을 그리려면 어떻게 해야 하나? void DrawPoints(CPaintDC& dc, std::vector::iterator start, std::vector::iterator end) 다음과 같이 라인을 점들로 변환하는 어댑터를 구현합니다. 이 구현은 수직, 수평인 라인들만을 다루고 나머지는 무시합니다. struct LineToPointAdapter { typedef vector Points; LineToPointAdapter(Line& line) { int left = min(line.start..