목차
- Encapsulation (캡슐화)
- 캡슐화 장점
Encapsulation (캡슐화)
"민감한" 데이터를 사용자에게 비노출.
즉, 클래스 안 데이터 직접 수정 막고 메서드로만 변경 허용.
1. 데이터 보호.
2. 내부적으로만 작동하는 코드 숨김.
[방법] ★
1. 클래스 안 속성(=변수)을 private으로 설정.
※ private 접근지정자 :동일 클래스에서만 접근 가능.
2. private 설정된 속성에 접근 방법 :
public 설정된 get/set 메서드 통해서만 허용.
[예제]
#include <iostream>
using namespace std;
class Hz {
private:
string host;
public:
void setHost(string h) {
host = h;
}
string getHost() {
return host;
}
};
int main() {
Hz my;
my.setHost("Homzzang.com");
cout << my.getHost();
return 0;
}
결과값: Homzzang.com
PS. 코드 설명.
※ host : private (= 다른 클래스에서 접근 금지) 설정된 필드.
※ get 메서드 : host 필드 값 반환.
※ set 메서드 : host 필드 값 설정.
캡슐화 장점
1.
클래스 안 속성/메서드에 대한 더 나은 제어.
즉, 누군가에 의해 코드가 엉망이 될 가능성 ↓.
2.
유연성↑. (즉, 다른 부분에 영향 안 주고, 코드 일부만 변경 가능.)
3.
데이터 보안 강화.
최신댓글