C++

프렌드 함수와 프렌드 클래스

이전 절 ‘연산자 오버로딩 기초’에서 friend 키워드를 간단히 사용했습니다. 이번 절에서는 friend 문법 자체를 독립적으로 다룹니다.

클래스 외부의 특정 함수 또는 클래스와 정확히 선언한 대상에만를 중심으로 프렌드 함수와 프렌드 클래스의 판단 흐름을 읽습니다.

핵심 흐름

1

friend란 무엇인가?

friend는 클래스 외부의 특정 함수 또는 클래스에게 해당 클래스의 private/protected 멤버 접근 권한을 부여하는 키워드입니다.

2

프렌드 함수 (friend function)

프렌드 함수는 클래스의 멤버 함수는 아니지만, 멤버처럼 내부 데이터에 접근할 수 있습니다.

3

프렌드 클래스 (friend class)

특정 클래스 전체에 접근 권한을 주고 싶을 때는 friend class를 사용합니다.

4

operator<<와 프렌드의 관계

operator<<는 보통 다음 이유로 프렌드 함수로 선언됩니다.