virtual 함수(2)
-
C++ 초급 - 8. 객체지향 프로그래밍 (5 - C++11의 override와 final)
📌 8.5 C++11의 override와 finalC++11에서는 가상 함수 오버라이딩을 더 명확하고 안전하게 수행하기 위해 override 키워드와 final 키워드가 추가되었다.이를 통해 컴파일러가 오버라이딩 오류를 검출할 수 있으며, 클래스나 함수의 상속 및 재정의를 제한할 수도 있다.📌 1. override 키워드의 필요성🔹 (1) override란?부모 클래스의 virtual 함수를 자식 클래스에서 재정의할 때 명확하게 표시하는 키워드.컴파일러가 오버라이딩 여부를 검사하므로 실수 방지 가능.부모 클래스에 해당 함수가 없으면 컴파일 오류 발생.🔹 (2) override 없이 발생하는 문제부모 클래스의 가상 함수 이름을 잘못 입력하거나, 매개변수 리스트가 다르면 오버라이딩되지 않음.하지만, ..
2025.02.22 -
C++ 초급 - 8. 객체지향 프로그래밍 (3 - 순수 가상 함수 (= 0))
📌 8.3 순수 가상 함수 (= 0)C++에서 순수 가상 함수(Pure Virtual Function)는 자식 클래스에서 반드시 구현해야 하는 가상 함수를 의미한다.이를 포함하는 클래스를 추상 클래스(Abstract Class)라고 하며, 추상 클래스는 직접 인스턴스를 생성할 수 없고, 인터페이스 역할을 한다.📌 1. 순수 가상 함수란? (virtual 함수명() = 0;)🔹 (1) 순수 가상 함수 정의순수 가상 함수(Pure Virtual Function)는 = 0을 사용하여 선언하는 함수.구현 없이 선언만 존재하며,해당 클래스를 상속받은 자식 클래스에서 반드시 오버라이딩해야 함.💡 기본 문법class 클래스이름 {public: virtual void 함수명() = 0; // 순수 가상 ..
2025.02.22