C++의 핵심인 클래스에서 가장 중요한 생성, 복사, 대입, 소멸에 대해서 알아보자. 클래스를 정의할 때는 명시적이든 암시적으로 하든 클래스 타입 객체를 복사하거나 대입 또는 소멸할 때 만들어줘야할 것이 많다. 즉, 클래스가 정상적으로 작동하기 위해서는 5가지 멤버함수가 필요하다. 1. 복사 생성자 (디폴트 있음) 2. 복사 대입 연산자 (디폴트 있음) (일반적으로 1번과 2번은 거의 비슷함) -> 둘다 정의 안하면 컴파일러가 만들어줌 3. 이동 생성자(다루지 않을 예정) 4. 이동 대입 연산자(다루지 않을 예정) 5. 소멸자 (디폴트 있음) 생성자, 소멸자까지만 듣고 포기한 사람이 많겠지만 쉽게 알아보도록 하자. **디폴트가 있는 생성(복사, 대입), 소멸은 무조건 중요하다는 말이 되겠다. 1. 복사 ..