[C++] Interface란
개요
Interface란?
=> 한마디로 인터페이스는 Method 원형들의 집합에 이름을 붙인 것으로, 상속 받을 클래스에 기능이나 속성을 지정하는 역할을 합니다.
C#이나 Java같은 다른 OOP언어에서는 인터페이스 형식을 제공하지만, C++에서는 인터페이스 형식을 제공하지 않고 순수 가상 Method를 이용하여 정의할 수 있습니다.
C#에서 인터페이스 -> C# Interface
예제
InterFace
#pragma once
__interface ITest
{
virtual void ShowText();
};
Main Class.h
#pragma once
#include <iostream>
#include "ITest.h"
class TestCpp : public ITest
{
public:
void ShowText() { std::cout << "Test Interface in C++" << std::endl; };
};
class MainTest
{
public:
void ShowInfo(ITest* _test) { _test->ShowText(); };
private:
};
Main Class.cpp
#include "TestCpp.h"
int main()
{
MainTest _mainTest;
TestCpp _testCpp;
_mainTest.ShowInfo(&_testCpp);
}
전체 소스코드
#pragma once
#include <iostream>
#include "ITest.h"
class TestCpp : public ITest
{
public:
void ShowText() { std::cout << "Test Interface in C++" << std::endl; };
};
class MainTest
{
public:
void ShowInfo(ITest* _test) { _test->ShowText(); };
private:
};
int main()
{
MainTest _mainTest;
TestCpp _testCpp;
_mainTest.ShowInfo(&_testCpp);
}
build result
Test Interface in C++