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
- 문제풀이
- 백준
- Material
- c++
- 재귀
- loop
- dfs
- 프로그래밍
- Unity
- python
- Unreal Engine 5
- UE5
- W3Schools
- Basic
- String
- DP
- 오류
- C#
- github
- Programming
- guide
- 기초
- parameter
- w3school
- dynamic
- Class
- 파이썬
- 시작해요 언리얼 2022
- Tutorial
- Algorithm
Archives
- Today
- Total
행복한 개구리
C++ Classes - Access Specifiers 본문
접근 지정자
지금까지 우리는 우리의 클래스 예시들로부터 public 키워드가 꽤나 친근해졌습니다:
예시
class MyClass { // 클래스
public: // 접근 지정자
// 클래스 멤버들은 이곳에 작성됩니다
};
public 키워드는 접근 지정자입니다. 접근 지정자는 클래스의 멤버들에 어떻게 접근할 수 있는지를 정의해줍니다. 위 예시에서 멤버들은 public 입니다. - 코드의 바깥에서도 접근하여 수정이 가능하다는 뜻입니다.
하지만 우리가 멤버들을 외부로부터 숨기고 격리시키고 싶다면 어떡할까요?
C++에서는 세 가지의 접근 지정자가 있습니다:
- public - 클래스 외부에서 멤버에 접근 가능합니다.
- private - 클래스 외부에서 멤버에 접근하거나 볼 수 없습니다.
- protected - 클래스 외부에서 멤버에 접근할 수 없지만, 상속된 클래스에서는 접근 가능합니다.
아래 예시에서 우리는 public 과 private 멤버의 차이점에 대해 다룰 것입니다:
예시
#include <iostream>
using namespace std;
class MyClass {
public:
int x;
private:
int y;
};
int main() {
MyClass myObj;
myObj.x = 25; // 적용 가능 / public
myObj.y = 50; // 접근 불가 / private (에러)
return 0;
}
주의: 같은 클래스 안의 public 메서드를 통해 클래스의 private 멤버에 접근할 수 있습니다.
팁: 클래스의 멤버를 가능한 자주 private으로 선언하는 것은 좋은 연습이 될 것입니다. 이것은 당신의 코드가 꼬일 가능성을 줄여줍니다.
참고: 기본적으로, 접근 지정자를 특정하지 않은 클래스의 모든 멤버는 private 입니다:
예시
#include <iostream>
using namespace std;
class MyClass {
int x;
int y;
};
int main() {
MyClass myObj;
myObj.x = 25; // 접근 불가 / private (에러)
myObj.y = 50; // 접근 불가 / private (에러)
return 0;
}
'C++ > 공부내용' 카테고리의 다른 글
C++ Classes - Inheritance / Inheritance (0) | 2022.06.29 |
---|---|
C++ Classes - Encapsulation (0) | 2022.06.29 |
C++ Classes - Constructors (0) | 2022.06.29 |
C++ Classes - Class Methods (0) | 2022.06.28 |
C++ Classes - Classes/Objects (0) | 2022.06.28 |