본문 바로가기
전공공부/C++

[C++] 8. C++ friend keyword, operator overloading

by 아임그류튜 2024. 5. 23.
반응형

오랜만에 C++ 포스팅이네요 ㅎㅎ

대학교 이후로 갑자기 보니깐 C++ 너무 어렵고, 공부를 어떻게 했었는지 기억도 안납니다...ㅠㅠ

 

모든 현재의 대학생, 대학원생분들 리스펙합니다... 아니 그냥 학생분들... 모두...

 

friend keyword는 해당 클래스의 private한 것을 public하게 사용하기 위함입니다.

즉, 해당 클래스의 멤버변수(private)를 접근하려면 보통 멤버함수(public)을 통해서 가져와야 합니다.

 

단, 메인함수에서 정의한 함수를 해당 클래스에 freind 선언을 하면 해당 클래스의 멤버변수(private)를

쉽게 가져와서 사용할 수 있습니다.

주의 사항으로는 선언부에만 freind 키워드를 붙이고 선언부를 class로 보냅니다.

정의부는 그대로 메인함수쪽에 작성해줍니다.

 

말 그대로 친구인 것이지 클래스의 멤버가 아니기 때문에 private, protected, public 어느 곳에 놔도 무관합니다!

 

마지막 오버로딩입니다.

연산자 오버로딩(operator overloading)입니다.

말 그대로 평소에 사용하는 연산자들을 사용자가 원하는 방법으로 정의하여 사용하는 것입니다.

사용자 정의 함수, freind 함수, class 멤버함수 모두 가능합니다.

간단한 + 연산자로 클래스의 각 멤버를 더하는 아주 간단한 예시를 보여드립니다.

아마 다들 보시면 아 이런식으로 활용이 가능하구나라고 보여지실 겁니다.

 

항상 느끼는 것이지만 어려운 예시보다는 간단한 예시로 사용 방법을 확실하게 알면

다른 어려운 코딩을 하게 되더라도 가능할 것으로 보입니다!

 

반응형