728x90
Private 멤버를 헤더에서 숨기기위한 기법으로 Pimpl Idiom이 있다.
클래스 내부 구조체에 private 멤버들을 넣는 것인데, 헤더에는 구조체를 선언만하고 소스에서 정의를 하는 방법이다.
간단한 코드를 보면 다음과 같다.
구조체의 포인터 이름을 따서 Pimpl Idiom이라고 하는 기법인데, 이런식으로 하면 헤더에서는 private 멤버들을 전혀 알 수 없고, private 멤버들을 수정할 때 헤더는 건드리지 않으므로 이 헤더를 사용하는 다른 파일들까지 다시 컴파일을 하지 않아도 되는 장점이 있다.
물론 몇가지 단점도 있다. private 멤버들을 사용할 때는 구조체의 포인터를 이용해야 하기 때문에 약간의 오버헤드가 있고, private 멤버들에서 public 멤버를 엑세스하기 위해서는 구조체에 원래 클래스로의 포인터가 필요한 문제점도 있다.
참고 : Exceptional C++ 책
728x90
'Basic Programming > Design Pattern' 카테고리의 다른 글
Design Pattern - 쓰레드에서 안전한 싱글턴 패턴(Thread-Safe Singleton Pattern) (0) | 2017.04.19 |
---|---|
Design Pattern - 팩토리 패턴(Factory Pattern) (0) | 2017.03.08 |
Design Pattern - 옵저버 패턴(Observer Pattern) (0) | 2017.02.18 |
Design Pattern - 파사드 패턴(Facade Pattern) (0) | 2015.12.10 |
Design Pattern - 싱글턴 패턴(Singleton Pattern) (0) | 2015.12.10 |