메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
만약 지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
주의. 이 문서는 공머생들이 좋아하는 주제 혹은 공머생 그 자체에 대해 다룹니다.
본 문서가 다루는 내용에 지나치게 탐닉할 경우 필연적으로 여성들과 멀어지게 됩니다.
이는 디시위키가 책임지지 않습니다.

개요

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

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

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

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

사용법 (C++)

키워드 operator를 사용한다.

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

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;
}
};

이와 같은 타입을 정의하고

Type obj().SetValue(2); 
Type obj2().SetValue(5);
cout<< (obj+obj2).GetValue();

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


(obj+obj2)

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

(obj.operator+(obj2))

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