운영자 과부하 란 무엇입니까?

운영자 과부하는 프로그래머가 기본 연산자를 무시할 수있는 컴퓨터 프로그래밍 언어 기능입니다. 연산자 함수가 과부하되면 운영자가 기본적으로 처리 할 수있는 것과 다른 데이터 유형 인 사용자 정의 인수로 선언 될 수 있습니다. 새로운 매개 변수는 원시 또는 사용자 정의 유형 일 수 있습니다. 재정의 함수의 본문 내에서 프로그래머는 원하는대로 매개 변수 값을 조작 할 수 있습니다. 운영자 과부하를 사용하면 프로그래머는 사용자 정의 데이터 유형을 조작하기위한 직관적 인 바로 가기를 만들거나 기본 데이터 유형이 처리되는 방법을 수정할 수 있습니다.

사용자 정의 된 데이터 유형이 생성되면 데이터 유형과 함께 단일 연산자를 사용하여 두 개를 추가하거나 내부 데이터를 추가하여 간단한 작업 작업을 수행 할 수있는 방법이 없습니다. 추가 기호를 포함한 연산자는 두 가지 사용자 지정 데이터 유형 사이에 이진 연산자로 사용되도록 사용자 DE를 반환 할 수 있도록 재정의 할 수 있습니다.벌금형 결과. 마찬가지로, 증분 연산자와 같은 단백 연산자는 사용자 정의 유형 내에서 내부 값을 높이기 위해 재정의 될 수 있습니다.

.

연산자가 과부하되면 컴파일러는 과부하 된 연산자가 발생할 때해야 할 일에 대한 결정을 내려야합니다. 컴파일러는 오페라 또는 연산자와 함께 사용되는 데이터 유형에 따라 취할 적절한 조치를 결정합니다. 운영자 함수의 매개 변수 값인 피연산자가 사용자 정의 데이터 유형 인 경우, 컴파일러는 사용중인 피연산자와 일치하는 매개 변수가있는 과부하 기능을 선택합니다.

컴퓨터 언어는 이러한 유형의 임시 다형성을 허용하는 방법에 따라 다릅니다. 다른 언어는 새로운 사용자 정의 연산자를 생성 할 수 있고, 일부 또는 일부 운영자의 과부하가 발생하거나, 운영자가 과부하를 전혀 허용하지 않을 수 있습니다. C ++, C#, PHP 및 Perl모두 일부 운영자가 과부하를 허용합니다. C, Java 및 JavaScript에서는 작업자 과부하가 허용되지 않습니다.

운영자 과부하 및 기능 과부하는 일반적으로 일부 논쟁의 대상이되었습니다. 일부 사람들은 프로그래머에게 운영자가 행동하는 방식을 변경할 수있는 자유를 주면 사용자 정의 된 코드를 사용하는 다른 프로그래머가 의도하지 않은 오류를 만들 수있는 잠재력을 소개 할 수 있다고 주장합니다. 반대 관점은 운영자 과부하를 허용하면 프로그래머가 이해하기 쉬운 직관적이고 간결한 코드를 만들 수있는 기능을 제공하고, 생산 비용이 적고, 오류를 줄일 수 있다고 제안합니다.

.

다른 언어

이 문서가 도움이 되었나요? 피드백 감사드립니다 피드백 감사드립니다

어떻게 도와 드릴까요? 어떻게 도와 드릴까요?