인터뷰 C++에서 복사생성자 다루기
1. 복사생성자(Copy Constructor)의 개념 C, C++은 하드웨어 제어 등 가장 많이 쓰는 언어 중 하나이다. 이번에는 C++에서 복사생성자에 대해 파악해 본다. C++에서는 C에는 없는 복사생성자(Copy Constructor)가 사용된다. 같은 class에서 객체를 생성할 때 새로 멤버 데이터를 일일이 지정하는 번거로움을 피하기 위해 이미 존재하는 객체의 정보를 그대로 가져다 사용한다. 또한 동적메모리에서 두 개 이상의 객체를 다룰 때 한 객체의 메모리가 삭제되면 다른 객체의 메모리도 삭제되는 것을 막기 위해서이다. 복사생성자는 같은 class에서 한 객체의 값을 다른 객체에 전해 주어야 할 때 다른 생성자처럼 객체 생성을 도와주면서 객체의 데이터를 초기화 시킨다. 한 객체의 값을 다른 객체에 전해 주는 방법에는 2가지가 있다. 첫째, 대입을 통해서다. 둘째는 초기화를 통해서다. 복사생성자는 초기화 방법을 통해서 한 객체를 값을 다른 객체에 전해주는 것이다. 왜 초기화를 하는가 하면 프로그램이 원하지 않는 쓰레기 값 대신 의미 있는 값으로 동작시키려고 하는 것이다. 복사생성자는 사용자가 직접 정의할 수도 있고, 사용자가 별도로 정의하지 않으면