Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- Unity
- 시작해요 언리얼 2022
- github
- 문제풀이
- w3school
- Class
- Unreal Engine 5
- 오류
- Programming
- Tutorial
- guide
- DP
- Algorithm
- c++
- UE5
- String
- python
- Material
- loop
- parameter
- dynamic
- 재귀
- W3Schools
- 기초
- C#
- Basic
- dfs
- 프로그래밍
- 백준
- 파이썬
Archives
- Today
- Total
행복한 개구리
C++ Classes - Encapsulation 본문
캡슐화
캡슐화의 의미는 "민감한"데이터를 유저들로부터 확실히 숨기는 것입니다. 이것을 하기 위해서 당신은 반드시 클래스의 변수/속성을 private 으로 선언해야 합니다. 만약 당신이 private멤버의 값을 다른 이가 읽고 수정할 수 있도록 하고 싶다면, 당신은 public으로 get과 set메서드를 제공할 수 있습니다.
Private 멤버에 접근하기
private 속성에 접근하기 위해선 public인 'get'과 'set' 메서드를 사용해야 합니다:
예시
#include <iostream>
using namespace std;
class Employee {
private:
// private 속성
int salary;
public:
// 설정하기
void setSalary(int s) {
salary = s;
}
// 얻어오기
int getSalary() {
return salary;
}
};
int main() {
Employee myObj;
myObj.setSalary(10000);
cout << myObj.getSalary();
return 0;
}
예시 설명
salary 속성은 접근이 제한되는 private 입니다.
public인 setSalary() 메서드는 매개변수를 ( s ) 취하며 이것을 salary 속성에 할당합니다. (salary = s)
public인 getSalary() 메서드는 private인 salary 속성의 값을 반환합니다.
main() 의 내부에서 우리는 Empoyee 클래스의 객체를 생성했습니다. 우리는 지금 setSalary() 메서드를 사용하여 private 속성에 50000 이라는 값을 할당했습니다. 그리고 이것을 getSalary() 메서드를 통해 값을 받아올 수 있습니다.
왜 캡슐화를 할까요?
- 당신의 클래스의 멤버를 가능한 자주 private으로 선언하는 것은 좋은 연습이 됩니다. 당신이 코드의 한 부분을 다른 부분에 영향없이 변경할 수 있게하기 때문에 캡슐화는 당신의 데이터에 대해 더 나은 제어를 보장합니다.
- 데이터의 보안 수준이 증가합니다.
'C++ > 공부내용' 카테고리의 다른 글
C++ Classes - Inheritance / Multilevel Inheritance (0) | 2022.06.29 |
---|---|
C++ Classes - Inheritance / Inheritance (0) | 2022.06.29 |
C++ Classes - Access Specifiers (0) | 2022.06.29 |
C++ Classes - Constructors (0) | 2022.06.29 |
C++ Classes - Class Methods (0) | 2022.06.28 |