추상화는 관련 정보만 외부 세계에 제공하고 배경 세부 정보를 숨기는 것을 포함합니다. 프로그래밍을 위한 인터페이스와 구현의 분리에 의존합니다.
클래스는 C++에서 추상화를 제공합니다. 외부 세계가 데이터를 조작하고 나머지 클래스 구조를 자체적으로 유지하기 위한 공용 메서드를 제공합니다. 따라서 사용자는 클래스가 내부적으로 어떻게 구현되었는지 몰라도 필요에 따라 클래스를 사용할 수 있습니다.
C++에서 클래스를 사용하여 추상화를 구현하는 프로그램은 다음과 같습니다.
예시
#include <iostream> using namespace std; class Abstraction { private: int length, breadth; public: void setValues(int l, int b) { length = l; breadth = b; } void calcArea() { cout<<"Length = " << length << endl; cout<<"Breadth = " << breadth << endl; cout<<"Area = " << length*breadth << endl; } }; int main() { Abstraction obj; obj.setValues(5, 20); obj.calcArea(); return 0; }
출력
Length = 5 Breadth = 20 Area = 100
위의 프로그램에서 Abstraction 클래스의 길이와 너비는 개인 변수입니다. 이러한 변수를 초기화하고 길이와 호흡을 곱하여 면적을 계산하는 공용 함수가 있습니다. 따라서 이 클래스는 추상화를 보여줍니다. 이에 대한 코드 스니펫은 다음과 같습니다.
class Abstraction { private: int length, breadth; public: void setValues(int l, int b) { length = l; breadth = b; } void calcArea() { cout<<"Length = " << length << endl; cout<<"Breadth = " << breadth << endl; cout<<"Area = " << length*breadth << endl; } };
main() 함수에서 먼저 추상화 유형의 객체가 정의됩니다. 그런 다음 setValues() 함수가 값 5와 20으로 호출됩니다. 마지막으로 이러한 값과 면적은 calcArea() 함수를 사용하여 표시됩니다. 이에 대한 코드 스니펫은 다음과 같습니다.
Abstraction obj; obj.setValues(5, 20); obj.calcArea();