반응형

Abstract Class 2

추상 클래스(abstract class)와 인터페이스(interface)의 차이

추상 클래스(abstract class)와 인터페이스(interface)는 C++의 두 가지 OOP 개념입니다. 차이점은 다음과 같습니다. 정의 : 추상 클래스(abstract class)는 인스턴스화를 할 수 없고 서브 클래싱되도록 의도된 클래스입니다. 인터페이스(interface)는 하위 클래스가 따를 계약을 지정하는 순수 가상 클래스입니다. 상속 : 추상 클래스(abstract class)는 다른 클래스 및 인터페이스에서 상속할 수 있지만, 인터페이스(interface)는 다른 인터페이스에서만 상속할 수 있습니다. 구현 : 추상 클래스(abstract class)는 추상 메서드와 구체적인 메서드를 모두 포함할 수 있지만, 인터페이스(interface)는 추상 메서드만 포함할 수 있습니다. 구체적인 ..

공부/C++ 2023.01.31

추상 클래스(abstract class)의 개념

C++에서는 하나 이상의 순수 가상 함수(Virtual Function)를 포함하는 클래스를 추상 클래스(abstract class)라고 합니다.이러한 추상 클래스는 객체 지향 프로그래밍에서 중요한 특징인 다형성을 가진 함수의 집합을 정의할 수 있게 해줍니다. 즉, 반드시 사용되어야 하는 멤버 함수를 추상 클래스에 순수 가상 함수로 선언해 놓으면, 이 클래스로부터 파생된 모든 클래스에서는 이 가상 함수를 반드시 재정의해야 합니다. 추상 클래스는 동작이 정의되지 않은 순수 가상 함수를 포함하고 있으므로, 인스턴스를 생성할 수 없습니다. 따라서 추상 클래스는 먼저 상속을 통해 파생 클래스를 만들고, 만든 파생 클래스에서 순수 가상 함수를 모두 오버라이딩하고 나서야 비로소 파생 클래스의 인스턴스를 생성할 수 ..

공부/C++ 2023.01.24
반응형