[c++] 생성자와 소멸자

C++에서 생성자(constructor)소멸자(destructor)는 객체 지향 프로그래밍에서 중요한 개념입니다. 생성자는 객체가 생성될 때 호출되는 특수한 멤버 함수이며, 소멸자는 객체가 소멸될 때 호출되는 함수입니다.

생성자

생성자는 클래스의 인스턴스가 만들어질 때 자동으로 호출되며, 객체의 초기화를 담당합니다. 생성자는 클래스명과 동일한 이름을 가지며 리턴 타입은 지정하지 않습니다. 생성자는 다음과 같이 정의됩니다.

class MyClass {
public:
    // 생성자
    MyClass() {
        // 초기화 코드
    }
};

소멸자

소멸자는 객체가 소멸될 때 자동으로 호출되는 함수로, 메모리나 자원을 해제하는 등의 정리 작업을 수행합니다. 소멸자는 클래스명 앞에 “~”를 붙여 정의합니다.

class MyClass {
public:
    // 생성자
    MyClass() {
        // 초기화 코드
    }

    // 소멸자
    ~MyClass() {
        // 정리 코드
    }
};

생성자와 소멸자의 호출

객체가 생성될 때 생성자가, 객체가 소멸될 때 소멸자가 자동으로 호출됩니다. 예를 들어, 다음과 같이 객체를 생성하고 사용한 뒤에는 소멸자가 자동으로 호출됩니다.

int main() {
    MyClass obj; // 생성자 호출

    // obj를 사용하는 코드

    // main 함수 끝, obj 소멸 -> 소멸자 호출
    return 0;
}

이렇게 생성자와 소멸자는 객체의 초기화와 정리를 책임지는 중요한 역할을 담당합니다.


참고: