생성자 (Constructor)
생성자는 클래스의 객체가 생성될 때 자동으로 호출되는 특별한 멤버 함수입니다.
생성자(Constructor)는 객체가 유효한 초기 상태로 시작하도록 만들고, 소멸자(Destructor)는 수명이 끝날 때 보유한 자원을 정리합니다. 두 함수는 객체의 수명 주기(Lifetime)와 소유권 계약을 코드에 드러냅니다.
객체가 생성될 때 초기화할 자원과 소멸될 때 정리할 자원을 구분하고, 생성자와 소멸자를 설계하는 기준을 정리합니다.
생성자는 클래스의 객체가 생성될 때 자동으로 호출되는 특별한 멤버 함수입니다.
소멸자는 클래스의 객체가 소멸될 때 자동으로 호출되는 특별한 멤버 함수입니다.
만약 프로그래머가 클래스에 어떤 생성자도 명시적으로 정의하지 않으면, 컴파일러는 자동으로 기본 생성자(Default Constructor)를 생성합니다.
클래스가 동적으로 할당된 메모리나 파일 핸들 같은 자원(Resource)을 소유하는 경우, 생성자와 소멸자 외에 다음 특별 멤버 함수들도 명시적으로 정의하거나 = default, = delete를 사용해야 합니다.