클래스의 friend 선언

class Boy
{
private:
	int height;
	friend class Girl; //Boy 클래스는 Girl 클래스를 friend로 선언하였다. 따라서 Girl 클래스
	//의 모든 private 멤버에 직접 접근이 가능하다. 
	
	// friend 선언은 private 혹은 public 어디에나 선언 가능하다.
public:
	Boy(int len) : height(len)
	{}
	...
}
class Girl
{
	...
	void ShowYourFriendInfo(Boy &frn)
	{
		cout << "His height: " << frn.height << endl;
	}
}

friend 선언은 언제?

friend 는 객체지향의 쩡보은닉을 무너뜨리는 문법이다.

“그럼 왜 존재하는 거죠? friend 선언은 하지 말아야 하나요?

friend 선언은 지나치면 아주 위험할수 있다. 필요한 상황에서 극히 소극적으로 사용해야 한다.

friend 선언이 좋은 약으로 사용되는 상황은, 이후에 연산자 오버로딩을 공부하면서 보게 될 것이다.