/C-Study

C++ 기본문법 및 객체지향 공부중(2019.0701~2019.07.12)

Primary LanguageC++

C-Study

C++ 기본문법 및 객체지향 공부중(2019.0701~)

가상함수

  • 헤더파일에서 함수 앞에 virtual 예약어를 붙여서 선언한 메서드
  • 파생형식에서 메서드를 재정의하면 과거의 정의가 완전히 무시
  • 일반 메서드의 경우 실 형식은 중요하지 않고 참조 형식이 무엇인지에 따라 어떤 메서드가 호출되는지 결정 하지만 가상함수는 일반 메서드와 달리 참조형식이 무엇이든 실 형식의 메서드를 호출
  • 미래의 함수를 호출한다는 개념으로 사용
  • 특정 가상함수가 미래에 재정의 되는 것을 막을 때 가상 함수 뒤에 final 예약어를 붙임
  • 소멸자를 가상화하면 파생 클래스의 소멸자까지 제대로 호출하여 메모리 누수를 막을 수 있음