Application/기초
[기초] C++ 생성자와 소멸자 (new, delete)
devsalix
2024. 4. 10. 07:43
728x90
C++에서 생성자와 소멸자는 객체의 초기화와 정리 작업에 중요한 역할을 합니다.
또한, 'new'와 'delete' 연산자는 동적으로 메모리를 할당하고 해제하는 데 사용됩니다.
이러한 요소들을 함께 다루는 것은 C++ 프로그래밍에서 중요한 부분입니다.
생성자와 소멸자
생성자는 객체가 생성될 때 호출되며, 멤버 변수를 초기화하거나 다른 초기화 작업을 수행합니다.
소멸자는 객체가 소멸될 때 호출되며, 메모리의 해제나 리소스의 정리 작업을 수행합니다.
#include <iostream>
class MyClass {
public:
// 생성자
MyClass() {
std::cout << "생성자 호출\n";
}
// 소멸자
~MyClass() {
std::cout << "소멸자 호출\n";
}
};
int main() {
MyClass obj; // 생성자 호출
// obj가 블록을 벗어나면 소멸자가 호출됨
return 0;
}
'new'와 'delete' 연산자
'new' 연산자는 동적으로 메모리를 할당하고 해당 객체의 생성자를 호출합니다.
'delete' 연산자는 동적으로 할당된 메모리를 해제하고 해당 객체의 소멸자를 호출합니다.
#include <iostream>
class MyClass {
public:
// 생성자
MyClass() {
std::cout << "생성자 호출\n";
}
// 소멸자
~MyClass() {
std::cout << "소멸자 호출\n";
}
};
int main() {
MyClass* objPtr = new MyClass(); // 생성자 호출
delete objPtr; // 소멸자 호출 및 메모리 해제
return 0;
}
위의 예제에서 'new' 연산자를 사용하여 동적으로 객체를 생성하고,
'delete' 연산자를 사용하여 해당 객체를 소멸시킵니다.
이 과정에서 생성자와 소멸자가 호출되는 것을 확인할 수 있습니다.
마무리
생성자와 소멸자는 객체의 초기화와 정리를 담당하며,
'new'와 'delete' 연산자는 동적으로 메모리를 관리하는 데 사용됩니다.
이러한 기능들을 적절히 활용하여 메모리 누수를 방지하고 안정적인 프로그램을 개발할 수 있습니다.
제 글이 도움이 되셨다면 댓글 & 공감 부탁드려요 😀
728x90
반응형