[C++] 다형성과 가상 소멸자
CPP2025. 3. 25. 14:59[C++] 다형성과 가상 소멸자

C++은 객체 지향 프로그래밍 언어이다.OOP의 속성으로는 은닉화, 캡슐화, 상속성, 다형성이 있고 OOP의 특성으로는 추상화가 있다.이중에서도 다형성은 쉽게 말하면 '모습은 같은데 형태는 다른 것'을 의미한다.상속관계에서 다형성이 활용되는데 주의해야할 것들 중 이번 글은 '가상 소멸자'에 대한 부분이다. parent* p = new child();우리는 위처럼 '업캐스팅'을 자주 사용할 때가 많다. 위 코드를 컴퓨터 입장에서 보면 부모 클래스 포인터로 무엇인가 가르키고 있기 때문에 가르키는 대상이 무조건 부모 클래스 객체라고 생각할 수 밖에 없다.(원하는 동작은 parent*로 가르키고 있지만 실 객체는 child라고 인식 시키고 싶은 것이다) 위 코드는 child클래스가 parent클래스로 부터 함수..

image