friend class

2025. 1. 7. 16:18·내배캠/C++

friend class

한 클래스의 private 혹은 protected 멤버에 다른 클래스가 직접 접근할 수 있도록 허용하는 기능이다.
이를 통해 두 클래스가 밀접하게 협력할 수 있도록 한다.

 

 

특징

1. 캡슐화 유지:

  • friend는 클래스간 협력을 허용하면서도 외부에는 비공개 멤버를 노출하지 않는다.

2. 단방향 관계:

  • class A가 class B를 friend로 선언하면, class B는 class A의 private/protected 멤버에 접근할 수 있지만, 반대는 성립하지 않는다.

3. static 멤버 접근 가능:

  • friend 클래스는 static 멤버에도 접근할 수 있다.

4. 효율적인 데이터 공유:

  • getter/setter를 사용하지 않고 데이터를 직접 공유할 수 있다.

 

주의점

1. 캡슐화 위반 위험:

  • friend 키워드는 클래스 간의 강한 의존성을 초래할 수 있어 캡슐화 원칙이 약화될 수 있다.

2. 유지보수 어려움:

  • 클래스 간 관계가 복잡해질 경우, 코드 변경 시 다른 클래스에도 영향을 줄 수 있다.

 

'내배캠 > C++' 카테고리의 다른 글

디자인 패턴(Factory Pattern)  (0) 2025.01.20
Greedy 알고리즘  (0) 2025.01.08
Linked List 클래스로 구현  (0) 2025.01.07
유클리드 거리 공식  (0) 2025.01.06
priority_queue  (1) 2025.01.06
'내배캠/C++' 카테고리의 다른 글
  • 디자인 패턴(Factory Pattern)
  • Greedy 알고리즘
  • Linked List 클래스로 구현
  • 유클리드 거리 공식
동그래님
동그래님
  • 동그래님
    개발자 동그래
    동그래님
  • 전체
    오늘
    어제
    • 분류 전체보기 (210)
      • 공부 (51)
        • Code Cata (50)
      • 내배캠 (151)
        • TIL (50)
        • C++ (37)
        • Unreal Engine (48)
        • GAS(Gameplay Ability System.. (16)
      • Project (7)
        • Gunfire Paragon (5)
        • Arena Fighters (1)
  • 블로그 메뉴

    • 링크

    • 공지사항

    • 인기 글

    • 태그

    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.3
    동그래님
    friend class
    상단으로

    티스토리툴바