[c++] 표준 연산자의 새로운 의미 부여
C++에서는 표준 연산자에 새로운 의미를 부여하여 사용자 정의 객체의 동작을 정의할 수 있습니다. 연산자 오버로딩(Operator Overloading)을 통해 이러한 기능을 구현할 수 있습니다.
연산자 오버로딩이란 무엇인가요?
연산자 오버로딩은 기존 C++ 연산자를 사용자 정의 자료형에 대해 새로운 의미로 재정의 하는 것을 말합니다.
예를 들어, +
연산자를 사용하여 두 개의 Point
객체를 더하는 연산을 사용자 정의 클래스에 적용할 수 있습니다.
Point operator+(const Point& p1, const Point& p2) {
Point sum;
sum.x = p1.x + p2.x;
sum.y = p1.y + p2.y;
return sum;
}
위의 예제에서는 +
연산자를 사용하여 Point
객체의 덧셈 연산을 정의했습니다.
연산자 오버로딩의 활용
연산자 오버로딩은 사용자 정의 클래스의 동작을 직관적으로 만들어줄 뿐만 아니라, 코드의 가독성을 향상시킬 수 있습니다. 또한, 기존의 연산자를 새로운 의미로 사용함으로써 코드의 일관성을 유지하고, 더 객체지향적인 코드를 작성할 수 있습니다.
요약
연산자 오버로딩을 통해 사용자 정의 객체에 기존 연산자의 새로운 의미를 부여할 수 있으며, 이를 통해 코드의 가독성을 향상시키고, 일관성 있는 객체지향적인 코드를 작성할 수 있습니다.
참고문헌:
- C++ Primer, Fifth Edition, Stanley B. Lippman, Josée Lajoie, and Barbara E. Moo