오늘 공부한 내용📓 - C++ 개념 공부 가상 소멸자 클래스 상속 시, 해당 클래스의 소멸자도 가상 소멸자로 선언해야 함 가상 소멸자로 선언하지 않으면, 해당 클래스를 동적으로 할당하고 삭제 시, 메모리 누수나 undefined behavior 문제가 발생할 수 있음 부모클래스에서 가상 소멸자로 선언되지 않는다면, 자식 클래스의 객체를 가리키는 포인터가 삭제될 때 부모 클래스의 소멸자만 호출됨. 자식 클래스의 소멸자는 호출되지 않아 메모리 누수 발생함 const Animal* j = new Dog(); 위 상황은 업캐스팅(Upcasting) 이라고 하며, 파생 클래스의 객체를 기본 클래스의 포인터 또는 참조형으로 변환하는 것 위 코드처럼 부모 클래스인 Animal 클래스의 포인터인 j 에 Dog 클래스의..