Nagie's DevStory
[CPP] 24. friend 함수 본문
728x90
friend 함수는 C++에서 사용되는 조금 특별한 함수다.
클래스의 멤버 함수가 아닌데 해당 클래스의 private 멤버에게 접근할 수 있도록 권한을 부여하는 함수며
이는 곧 클래스의 캡슐화(정보은닉)를 깨버리는 결과를 가져온다.
가능하면 안 쓰는 게 베스트지만 그래도 사용법은 알고 있어야지
특정 상황에서 선택의 여지가 없을 때 문제를 해결할 수 있을 거 같아 사용 예시를 올린다.
#include <iostream>
class MyClass {
private:
int privateVar;
public:
MyClass(int value) : privateVar(value) {}
// 클래스 외부에서 privateVar에 접근할 수 있도록 friend 함수 정의
friend void DisplayPrivateVar(const MyClass& obj);
};
// friend 함수 정의
void DisplayPrivateVar(const MyClass& obj) {
std::cout << "PrivateVar: " << obj.privateVar << std::endl;
}
int main() {
MyClass myObj(42);
// friend 함수를 호출하여 privateVar에 접근
DisplayPrivateVar(myObj);
}
728x90
Comments