[c++] 생성자와 소멸자의 멤버 변수 초기화
C++에서 클래스의 멤버 변수를 초기화하는 기능은 생성자와 소멸자에서 중요합니다. 생성자는 객체가 생성될 때 호출되며 멤버 변수를 초기화하는 역할을 합니다. 반면에 소멸자는 객체가 소멸될 때 호출되며 메모리나 리소스 등을 정리하는 역할을 합니다.
생성자를 사용한 멤버 변수 초기화
C++에서는 생성자를 사용하여 멤버 변수를 초기화합니다. 다음은 생성자를 사용하여 멤버 변수를 초기화하는 간단한 예제입니다.
class MyClass {
public:
int myVar;
MyClass(int val) {
myVar = val;
}
};
위의 예제에서 MyClass
는 myVar
이라는 멤버 변수를 가지고 있습니다. 생성자는 myVar
를 val
로 초기화하여 설정하는 역할을 합니다.
초기화 리스트를 사용한 멤버 변수 초기화
초기화 리스트(initialization list)를 사용하여 멤버 변수를 초기화할 수도 있습니다. 초기화 리스트를 사용하면 변수가 선언될 때 한번에 초기화되므로 성능상 이점이 있습니다.
class MyClass {
public:
int myVar;
MyClass(int val) : myVar(val) {
}
};
위의 예제에서 MyClass
는 초기화 리스트를 사용하여 myVar
를 val
로 초기화하는 것을 보여줍니다. 이 방식은 생성자의 본문(body)에 대입문을 사용하는 것보다 변수를 초기화하는 더 효율적인 방법입니다.
소멸자를 사용한 멤버 변수 정리
클래스에 동적 메모리 할당이나 리소스 해제 등의 작업이 필요한 경우 소멸자를 사용하여 멤버 변수를 정리합니다. 다음은 간단한 소멸자의 예제입니다.
class MyClass {
public:
int* myPtr;
MyClass() {
myPtr = new int;
}
~MyClass() {
delete myPtr;
}
};
위의 예제에서 MyClass
의 소멸자는 new
연산자로 할당받은 메모리를 delete
연산자로 해제하고 있습니다.
생성자와 소멸자는 클래스의 멤버 변수를 올바르게 초기화하고 정리하는 데 중요한 역할을 합니다.