생성자는 그 클래스의 객체가 생성될 때 복사 생성자 역할 - 디폴트 복사 생성자는 static 멤버를 제외한 멤버들을 멤버별로 복사한다. 각 멤버는 값으로 복사된다. - 멤버별 복사 또는 얕은 복사라고 부른다. - 클래스가, 새로운 객체가 생성될 때마다 값이 변하는 static 데이터 멤버를 가지고 있다면, 그 상황을 처리하는 명시적 복사 생성자를 제공해야한다. - 프로그램이 복사 생성자를(명시적or암시적) 사용하지 않으면, 컴파일러는 함수 정의가 아니라 원형만 제공한다. 복사 생성자 사용 하는 곳 - 새 객체를 동일한 클래스이 다른 객체로 초기화할 때 - 객체가 함수에 값으로 전달될 때 - 함수가 객체를 값으로 리턴할 때 - 컴파일러가 임시 객체를 생성할 때 디폴트 생성자 - 인수를 취하지 않는 생성자..