항상 느끼는 것 이지만, C 나 C++ 개발자들은 정말 성능 변태가 분명합니다. 특히 템플릿을 배우기 시작하는 분들은 느끼시겠지만, 정말 성능 하나만을 위해 변태같은 짓을 하는것을 서슴치 않는 사람들이 바로 C++ 개발자들 입니다. 이번에 소개해드릴 템플릿 패턴은 CRTP 입니다. CRTP 는 동적 다형성(polymorphism), 즉 기반 클래스 포인터에 파생 클래스 객체의 포인터를 대입해 사용하는 것을 피하면서 가상(virtual) 함수의 override 를 흉내내는 템플릿 기법입니다. CRTP 는 템플릿에 의한 정적 다형성 이므로, 가상함수의 호출에 드는 오버헤드 비용을 없엘 수 있습니다. CRTP 의 약자는 Curiously Recursing Template Pattern 으로, 굳이 의역한다면 ..