본문 바로가기

Study/C++

[C++] Friend

Friend

  • 한 클래스가 다른 클래스 내부의 private 멤버에 접근하기 위해서 사용하는 방법이다.
  • A와 B 클래스가 있다고 가정할 때, A 클래스가 B 클래스를 대상으로 friend 선언을 하면, B 클래스는 A클래스의 private 멤버에 직접 접근이 가능하다. 단, 역도 성립하기 위해서는 B 클래스가 A 클래스를 대상으로 friend 선언을 해줘야 한다. 또한 함수도 선언이 가능하다.
class Girl
{
private:
	friend class Boy;
    .	.	.
public:
	.	.	.
}

class Boy
{
private:
	friend class Girl;
    .	.	.
public:
	.	.	.
}
SomeClass
{
.	.	.
public:
	friend SonmeFunc(.	.	.);
.	.	.
}

SomeClass::SomeFunc(.	.	.)
{
	.	.	.
}
  • 하지만, 객체지향의 목표 중 하나인 정보은닉을 무너뜨리는 문법이기 때문에, 가급적 사용하지 않는 것이 바람직하다.

'Study > C++' 카테고리의 다른 글

[C++] Inheritance  (0) 2023.10.09
[C++] Static  (0) 2023.10.06
[C++] Init  (0) 2023.10.06
[C++] Class, Array and this pointer  (0) 2023.10.06
[C++] Constructor & Destructor  (0) 2023.10.06