왜쓰나? 여러 순차 작업의 결과를 한 번에 보여주고 싶을 때. 변경 중인 상태에 접근할 수 없게 하고 싶을 때. 코드가 변경하려는 상태를 다시 읽는 경우. 이중 버퍼를 사용하는 가장 대표적인 예는 게임 렌더링이다. class FrameBuffer { public: void clear();//픽셀을 모두 하얀색으로 채운다. void draw(int x, int y);//x,y 픽셀을 검은색으로 바꾼다. }; class Scene { public: void draw(); FrameBuffer& getBuffer(); private: FrameBuffer buffer_; }; 이처럼 FrameBuffer와 화면에 흑백 그림을 그려주는 Scene이 있다고 하자. Scene은 화면에 곰돌이 한 마리를 그린다. v..