Qaupot Blog
Software Engineering, Trip

301. 연산자 오버로딩 개요

🕐 Wed, 19 Feb 2014 09:00:00 GMT 🕓 Tue, 31 Aug 2021 10:28:00 GMT

연산자 오버로딩

연산자를 분류할 때는 1항(단항) 연산자, 2항 연산자, 3항 연산자로 구분합니다.

C++ 에서 연산자는 일종의 메소드 처럼 취급될 수 있습니다. 각 연산자의 규격에 맞게 함수를 오버로딩 합니다.

반환형 operator 연산자 (인수 ...)

연산자들의 기본 함수는 연산자의 특성에 따라 제각각이지만, 보통은 상기 형태를 가집니다.

새로운 연산자 함수를 멤버 함수로 작성하였다면 함수는 해당 클래스에 의해 연산자가 호출될 때 동작합니다.

  • 전역 범위에 작성하였다면 이 함수는 전역의 연산자에 영향을 끼칩니다.

우선순위는 멤버함수가 전역에 비해 높으므로, 동일한 연산자가 전역과 멤버로 정의되어 있다면 해당 클래스에 대해서 만큼은 멤버함수가 우선됩니다.

  • 연산자를 오버로딩 하더라도, 연산자의 우선순위는 그대로 유지되기 때문에 이를 항상 고려해야 합니다.

연산자 오버로딩은 생성자와 소멸자처럼 기존 기능을 대체하며, 기존 기능에 구애받지 않습니다.

  • + 연산자를 오버로딩 했다고 해서 꼭 덧셈으로 사용할 필요는 없으며 다른 의미로 활용할 수 있습니다.
    • 연산자는 기본 의미를 가지고 있고, 설명이 없다면 기본 의미를 떠올리므로, 오버로딩 시 문서나 주석을 제공하는게 좋습니다.

이어지는 문서에서 연산자 오버로딩에 대해 상세히 설명합니다.

이 블로그는 개인 블로그입니다. 게시글은 오류를 포함하고 있을 수 있지만, 저자는 오류를 해결하기 위해 노력하고 있습니다.
게시글에 별도의 고지가 없는 경우, 크리에이티브 커먼즈 저작자표시-비영리-변경금지 4.0 라이선스를 따릅니다.

This blog is personal blog. published posts may contain some errors, but author doing efforts to clear errors.
If post have not notice of license, it under creative commons Attribution-NonCommercial-NoDerivatives 4.0.