1학년때 C++를 배울때 copy constructor를 처음 접했을땐 어려워서 열심히 공부해서 겨우겨우 이해해서 시험친 기억이 난다. 그때 기억으로는 다 이해했고 안까먹을거라 생각하고 넘어갔지만 막상 몇년이 지나니 까먹은 것 같아서 이 기회에 다시 정리한다. 1. 왜 써야 하는가? 우선 copy constructor라는걸 왜 써야하는지에 대한 의문은 쓰지 않았을 때 생기는 문제에 대해 생각해보면 쉽게 해결된다. 예를 들어 다음와 같은 코드가 있다고 하자 class person { int m_tAge; char* m_pName; public: person() { } person(int _age, char* _name) { m_tAge = _age; m_pName = new char[strlen(_name..