[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