Friend
friend 권한 범위
프렌드 함수와 클래스는 private 멤버에 접근할 수 있지만 멤버가 아니며 상속이나 전이가 되지 않습니다.
friend 권한 범위friend는 캡슐화를 깨는 예외 권한이므로 필요한 범위를 좁혀야
합니다. 함수와 클래스 단위 권한을 구분합니다.
friend 권한 범위 점검 항목friend는 필요한 함수나 클래스에만 좁게 열고, 출력 연산자는 읽기
전용 접근으로 제한합니다.
friend class 협력
operator<< 비멤버 friend
상속 안 됨부모의 friend 권한이 자식에게 자동 전달되지 않습니다.
전이 안 됨A의 friend가 또 다른 대상에게 권한을 넘겨주지 않습니다.
friend 필요성public 함수로 충분하면 friend를 추가하지 않습니다.
권한 범위 friend는 나쁜 기능이 아니라 강한 결합을 명시하는 기능입니다. 그래서 접근 범위를 좁히고 필요한 함수나 클래스에만 지정해야 합니다.