C++

[C++] 연산자 오버로딩

programmer-faust 2025. 7. 17. 21:20
  • 순서
    1. 연산자 오버로딩이란?
    2. 연산자 오버로딩이 필요한 이유
    3. 연산자 오버로딩 문법
    4. 주의할 점
  • 연산자 오버로딩이란?
    1. 기본 연산자를 클래스에 맞게 새로운 의미로 재정의 하는 것.
  • 연산자 오버로딩이 필요한 이유
    1. 클래스끼리 연산을 직관적으로 하기 위해.
  • 연산자 오버로딩 문법
    1. 리턴타입 클래스이름::operator연산자(인자){} 형식으로 작성
    2. ex) ==연산자 오버로딩
      bool operator==(const Point& other) const
      {
          return (x == other.x) && (y == other.y);
      }
      
      if(p1 == p2)
      {
          cout << "두개는 같다" endl;
      }
  • 주의할 점
    1. 새로운 의미를 부여할 때 직관적이여야 함
    2. 과도한 오버로딩은 코드 가독성을 해칠 수 있음
    3. 연산자의 원래 의미와 다르게 동작하지 않도록 주의해야함

'C++' 카테고리의 다른 글

[C++] ObjectPooling(오브젝트 풀)  (0) 2025.08.04
[C++]Rvalue/Lvalue  (0) 2025.07.22
[C++] 시프트 연산자  (0) 2025.07.15
[C++] is-a/has-a 관계  (0) 2025.07.14
[C++] Iterator 반복자  (0) 2025.07.10