행위

연산자 오버로딩

조무위키

주의. 이 문서는 공머생들이 좋아하는 주제 혹은 공머생 그 자체에 대해 다룹니다.
본 문서가 다루는 내용에 지나치게 탐닉할 경우 필연적으로 여성들과 멀어지게 됩니다.
이는 조무위키가 책임지지 않습니다.

개요[편집]

프로그래밍 언어에서, 기본 연산자를 확장해서 사용할 수 있는 기능을 말한다.

C++, C#과 같은 객체지향성 언어들에게 제공된다. 병신언어 자바는 이거 없다.

연산자 오버로딩을 사용하면 +나 -, [] 같은 대부분의 연산자를 사용자 정의 타입

결과적으로 생산성, 가독성을 대폭 증가시킬 수 있다.

사용법 (C++)[편집]

키워드 operator를 사용한다.

기본적인 구조는 메소드와 동일하고, 메소드나 전역함수로 선언이 가능하다.

<source lang="cpp"> class Type { ㅤint value;

public: ㅤvoid SetValue(int _value) ㅤ{ ㅤㅤvalue=_value; ㅤ} ㅤint GetValue() const ㅤ{ ㅤㅤreturn value; ㅤ}

ㅤType operator+(Type right) const ㅤ{ ㅤㅤType temp; ㅤㅤtemp.SetValue(value+right.GetValue()); ㅤㅤreturn temp; ㅤ} }; </source>

이와 같은 타입을 정의하고

<source lang="cpp"> Type obj().SetValue(2); Type obj2().SetValue(5); cout<< (obj+obj2).GetValue(); </source>

이렇게 사용을 하면 정상적으로 7이란 값이 출력이 된다


(obj+obj2)

이 코드는 자동적으로 이렇게 변환된다.

(obj.operator+(obj2))

그리고 보통 함수와 같은 원리로 수행된다.