[c++] 연산자 오버로딩의 개념

연산자 오버로딩은 함수를 이용하여 구현되며, 함수 이름 앞에 operator 키워드를 사용하여 어떤 연산자를 오버로딩하는지 명시합니다. 예를 들어, operator+ 함수는 + 연산자를 오버로딩합니다.

다음은 Vector 클래스에 대해 + 연산자를 오버로딩하는 예제입니다.

class Vector {
public:
    int x, y;

    Vector(int _x, int _y) : x(_x), y(_y) {}

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

위 예제에서 operator+ 함수는 두 개의 Vector 객체를 더하여 새로운 Vector 객체를 반환합니다.

연산자 오버로딩을 사용함으로써, 사용자 정의 클래스에 대해 직관적이고 편리한 연산자 사용이 가능해집니다. 그러나 과용되면 코드의 가독성을 해칠 수 있으므로 적절히 사용해야 합니다.

자세한 내용은 아래 C++ 공식 문서를 참고하세요. https://en.cppreference.com/w/cpp/language/operators