Refactoring은 내부의 코드를 개선하는 하나의 방법론이자 솔루션입니다.대부분 리팩토링은 OS에 독립적인 Java에서 이루어지는데요.그러나 객체 지향의 내부 구조를 이해를 돕기 위해 C++로 진행하겠습니다. 리팩토링을 한마디로 말하자면, 나쁜 냄새가 나는 코드를 최적화하는 것입니다.여기서 주의할 점은 런타임에서의 최적화가 아니라!코드를 짤 때, 버그 없는 프로그램을 만드는 것입니다.외부 인터페이스는 그대로 두고 내부의 코드만을 개선하여 재사용과 가독성을 높이는 데 목적이 있습니다. 특히 전체적인 아키텍처에서 개선해나가는 디자인패턴과 떼어놓을 수 없는 관계입니다.리팩토링과 디자인패턴의 개념은 동일한데, 바라보는 관점이 다를 뿐 입니다! 이제 본격적으로 리팩토링을 시작합니다. 1. 순수 가상함수와 추상..