C++ 캡슐화
캡슐화
캡슐화 의 의미는 "민감한" 데이터가 사용자에게 숨겨져 있는지 확인하는 것입니다. 이를 달성하려면 클래스 변수/속성을 다음과 같이 선언해야 합니다 private
(클래스 외부에서 액세스할 수 없음). 다른 사람들이 private 멤버의 값을 읽거나 수정하도록 하려면 public get 및
set 메서드를 제공할 수 있습니다.
비공개 회원 액세스
개인 속성에 액세스하려면 공개 "get" 및 "set" 메소드를 사용하십시오.
예시
#include <iostream>
using namespace std;
class Employee {
private:
// Private attribute
int salary;
public:
// Setter
void setSalary(int s) {
salary = s;
}
// Getter
int getSalary() {
return salary;
}
};
int
main() {
Employee myObj;
myObj.setSalary(50000);
cout << myObj.getSalary();
return 0;
}
설명된 예
salary
속성은 액세스 private
가 제한된 입니다.
public setSalary()
메소드는 매개변수( s
)를 가져와 속성에 할당합니다
salary
(salary = s).
public getSalary()
메서드는 private salary
속성의 값을 반환합니다.
내부 에서 우리는 클래스 main()
의 객체를 생성합니다 . Employee
이제
setSalary()
메서드를 사용하여 private 속성 값을 로 설정할 수 있습니다 50000
. 그런 다음
getSalary()
객체의 메서드를 호출하여 값을 반환합니다.
왜 캡슐화인가?
- 클래스 속성을 비공개로 선언하는 것은 좋은 습관으로 간주됩니다(가능한 한 자주). 캡슐화는 다른 부분에 영향을 주지 않고 코드의 한 부분을 변경할 수 있으므로 데이터를 더 잘 제어할 수 있습니다.
- 데이터 보안 강화