{
개체의 조각화는 무엇인가?
기반 클래스 B와 상속 클래스 D가 있다고 했을 때, D의 객체가 B의 객체로 잘리는 현상을 말한다.
예를 들 수 있는가?
함수 f로 들어가는 d는 조각화가 일어 나서 b.Draw() 를 하게 될 때, 다형성을 유지하지 못한체 Base::Draw()가 호출 된다. 이는 뛰어난 다형적 디자인을 해체는 경우가 많게 된다.
이를 방지하기 위해선 어떻게 해야 하는가?
f가 레퍼런스:reference 를 받으면 된다. 즉 void f( Base& b ); 로 선언 된다면 방지가 가능하다.
책에선 내용이 좀 길고 Clone도 설명했던데..?
참고 사항이다. 애초에 다형적으로 사용 한다면 & 나 * 를 까먹고 안한게 잘못이다. 부득이하게 다형적 복사를 원할 떄는 Clone 함수를 만들어서, 복사하게 해야 할 것이다. 이 이야기의 초점은 splice 문제로만 국한 시켰다.
}
최근댓글