C++ 디자인(Design): PImpl (Pointer to Implement) 1. 설명 Pimple 디자인은 헤더 파일에서는 실제 구현을 담당하는 클래스를 불완전한 타입으로 선언하고 이에 대한 포인터만 원래 클래스에 남겨두고, 소스 파일에서 구현 클래스를 정의하는 방법입니다. 그래서 Pointer to Implementation (구현(클래스)에 대한 포인터)라는 이름이 붙게 되었습니다. 이로 인해서 얻는 장점은 크게 2가지가 있습니다. 1. 컴파일 시간 단축 / ABI 호환성 보장 내부 구현이 바뀌어도, 헤더만 참조하는 파일은 재 컴파일이 필요하지 않음 2. 소스 코드 은닉 소스 파일을 빌드해서 배포할 시, 소스 코드를 은닉할 수 있습니다. 다만, 구현 클래스가 템플릿 특수화된 클래스거나, 팩토리..