[c++] C++에서 지원하는 연산자 오버로딩

C++는 사용자 정의 클래스나 구조체에 대해 연산자 오버로딩을 지원하여 기존 연산자의 동작을 사용자 정의 데이터 타입에 대해 재정의할 수 있습니다.

연산자 오버로딩 기본 구문

return_type operator symbol (parameters) {
    // 연산자 오버로딩의 구현
}

여기서 return_type은 연산자 오버로딩의 반환 형식을 나타내며, symbol은 오버로딩하려는 연산자를 나타냅니다. parameters는 해당 연산자에 대해 받고자 하는 매개변수를 나타냅니다.

예시

아래 예시는 + 연산자를 오버로딩하는 방법을 보여줍니다.

class Vector {
public:
    int x, y;

    Vector operator + (const Vector& v) {
        Vector result;
        result.x = x + v.x;
        result.y = y + v.y;
        return result;
    }
};

위의 코드에서, + 연산자는 벡터의 각 구성 요소를 더한 결과를 반환하도록 재정의되었습니다.

C++는 많은 연산자에 대해 오버로딩을 지원하며, 필요한 경우 사용자 정의 클래스나 구조체에 대해 연산자 오버로딩을 구현할 수 있습니다.

참고 자료