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
반응형
'Application > 기초' 카테고리의 다른 글
[기초] C++ 예외 처리 (0) | 2024.04.15 |
---|---|
[기초] C++ 가상 함수와 다형성 (0) | 2024.04.12 |
[기초] C++ 접근 지정자 (private , protected, public) (0) | 2024.04.08 |
[기초] C++ 상속과 다형성 (0) | 2024.04.04 |
[기초] C++ 객체 지향 프로그래밍 (OOP) (2) | 2024.04.02 |