캡슐화는 데이터와 데이터를 조작하는 방법을 단일 구성 요소로 통합하고 외부 간섭으로부터 데이터를 보호합니다. 본질적으로 캡슐화에는 데이터와 데이터를 사용하는 기능을 묶는 것이 포함됩니다. 데이터 캡슐화는 데이터 은닉의 매우 중요한 개념으로 이어집니다.
C++의 캡슐화는 사용자 정의 데이터 유형인 클래스를 사용하여 구현됩니다. 이러한 클래스에는 데이터 유형과 함께 바인딩된 메서드가 포함됩니다.
클래스를 사용하여 C++에서 캡슐화를 나타내는 프로그램은 다음과 같습니다.
예시
#include <iostream> using namespace std; class EncapsulationDemo { private: int length, breath, height; public: void setValues(int l, int b,int h) { length = l; breath = b; height = h; } void calcVolume() { cout<<"Length = " << length << endl; cout<<"Breath = " << breath << endl; cout<<"Height = " << height << endl; cout<<"Volume = " << length*breath*height << endl; } }; int main() { EncapsulationDemo obj; obj.setValues(5, 3, 2); obj.calcVolume(); return 0; }
출력
Length = 5 Breath = 3 Height = 2 Volume = 30
위의 프로그램에서 변수와 메서드는 Encapsulation 클래스와 같은 단일 단위로 래핑됩니다. 따라서 이 프로그램은 캡슐화의 개념을 보여줍니다.
Encapsulation 클래스의 길이, 너비 및 높이는 개인 변수입니다. 이러한 변수를 초기화하고 길이, 너비 및 높이를 곱하여 부피를 계산하는 공용 함수가 있습니다. 이에 대한 코드 스니펫은 다음과 같습니다.
class Encapsulation { private: int length, breadth, height; public: void setValues(int l, int b,int h) { length = l; breadth = b; height = h; } void calcVolume() { cout<<"Length = " << length << endl; cout<<"Breadth = " << breadth << endl; cout<<"Height = " << height << endl; cout<<"Volume = " << length*breadth*height << endl; } };
main() 함수에서 먼저 Encapsulation 유형의 객체가 정의됩니다. 그런 다음 setValues() 함수가 값 5, 3 및 2로 호출됩니다. 마지막으로 이러한 값과 볼륨은 calcVolume() 함수를 사용하여 표시됩니다. 이에 대한 코드 스니펫은 다음과 같습니다.
Encapsulation obj; obj.setValues(5, 3, 2); obj.calcVolume();