
외부의 클래스나 함수가 해당 클래스에 public으로 접근할 수 있도록 강제하는 키워드.편리하지만 캡슐화를 위반하는 위험한 키워드이다. 난발하지 않도록 하자.// 외부의 함수void Func(int x);// 외부의 클래스class Foo{ ... };class Bar{ friend void Func(int); // 특정 함수에 대한 friend화 friend class Foo; // 특정 클래스 전체에 대한 friend화 friend void Foo::Func(); // 특정 클래스의 특정 메서드에 대한 friend화 // 이제 friend로 지정된 범위에선 Bar의 모든 멤버가 public인 것처럼 접근할 수 있다.}; friend를 붙이고 그 자리에서 바로 함수나 클래스를 정의..