C++
friend 함수와 연산자 오버로딩
friend 함수C++에서 클래스의 private 및 protected 멤버에 접근할 수 있도록 특별히 허용된 함수이다. 이를 연산자 오버로딩에 활용할 수 있다.왜 friend 함수가 필요할까?일반적으로 연산자 오버로딩은 멤버 함수 또는 비멤버 함수로 구현된다.멤버 함수로 오버로딩할 경우 연산자 왼쪽에 있는 객체가 반드시 해당 클래스의 객체여야 한다.예)// 왼쪽: 객체, 오른쪽: 객체Point(3, 4) + Point(3, 5) 하지만 비멤버 함수로 오버로딩할 경우 클래스의 비공개 멤버에 접근하려면 friend 키워드를 사용해야 한다.// 왼쪽: 클래스 객체가 아님, 오른쪽: 객체3 + Point(3, 4)3 + point(3, 4)객체가 아닌 기본 자료형(예: int)도 Point 클래스의 frien..