조무위키
조무위키
둘러보기
대문
최근 바뀜
임의의 문서로
미디어위키 도움말
도구
여기를 가리키는 문서
가리키는 글의 최근 바뀜
특수 문서 목록
문서 정보
행위
문서
토론
편집
역사 보기
연산자 오버로딩
편집하기
경고:
로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다.
로그인
하거나
계정을 생성하면
편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.
스팸 방지 검사입니다. 이것을 입력하지
마세요
!
{{틀:공대생}} == 개요 == 프로그래밍 언어에서, 기본 연산자를 확장해서 사용할 수 있는 기능을 말한다. 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)) 그리고 보통 함수와 같은 원리로 수행된다.
요약:
조무위키에서의 모든 기여는 CC BY-SA 4.0 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는
조무위키:저작권
문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다.
저작권이 있는 내용을 허가 없이 저장하지 마세요!
취소
편집 도움말
(새 창에서 열림)
이 문서에서 사용한 틀:
틀:공대생
(
편집
)
틀:알림 상자
(
편집
)