virtual 2

C++ 순수 가상 함수(추상 클래스)

순수 가상 함수에 대해 공부합시다. 순수 가상함수란? - 함수의 정의는 없으며 오직 다형성 파생 클래스에 오버라이드(override)만으로 적용되는 함수입니다. virtual void Open() = 0; 요런 형태가 됩니다. 이렇게 선언된 순수 가상 함수가 있는 클래스는 보통 추상 클래스(abstract class) 라고 부릅니다. 이러한 추상클래스에 특징은 절대로 자기 혼자 객체화를 시킬수가 없습니다. 왜 이러한 추상 클래스를 사용을 하는가에는 ex) 예를들어 자동차가 있으면 그 자동차에도 스포츠 자동차가 있고 일반차가 있으면 차에 문을 위로 올리는 차 아래로 올리는 차로 나눌수 있습니다. 또한 추상클래스를 상속받는 클래스들은 순수가상함수를 반드시 재정의를 해줘야하기때문에 강제성도 보장합니다. 이를 ..

C++ Virtual(가상) 함수

오늘은 Virtual 함수 가상 함수에 대해 공부하도록 하겠습니다. 가상 함수란? - 기본 클래스 내에서 선언되는 파생 클래스에 의해 재정의되는 맴버함수 가상 함수를 호출하고 파생 클래스의 함수를 실행할 수 있습니다. 주로 실행시간에 함수의 다형성을 구현하는데 사용됩니다. 가상 함수는 기본 클래스내에 Virtual 키워드로 함수를 선언합니다. 가상 함수 선언에는 몇가지 규칙이 존재합니다. 1. 클래스의 공개(public) 섹션에 선언합니다. 2. 가상 함수는 정적(static)일 수 없으며 다른 클래스의 친구(friend) 함수가 될 수도 없습니다. 3. 가상 함수는 실행시간 다형성을 얻기위해 기본 클래스의 포인터 또는 참조를 통해 접근(access)해야 합니다. 4. 가상 함수의 프로토타입(반환형과 매..