연산자 오버로딩이란 무엇입니까?

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

사용자 정의 데이터 유형이 작성되면 두 유형을 함께 추가하거나 단항 증가 연산자를 데이터 유형과 함께 사용하여 내부 데이터를 증가시키는 등 간단한 조작 태스크를 수행 할 수있는 방법이 없습니다. 추가 기호를 포함하여 연산자를 재정의 할 수 있으므로 두 사용자 지정 데이터 형식간에 이진 연산자로 사용되는 경우 사용자 정의 결과를 반환합니다. 같은 방식으로 증분 연산자와 같은 단항 연산자는 재정의되어 사용자 정의 유형 내에서 내부 값을 증가시킬 수 있습니다.

연산자가 오버로드되면 컴파일러는 오버로드 된 연산자가 발생할 때 수행 할 작업을 결정해야합니다. 컴파일러는 피연산자로 사용되거나 연산자와 함께 사용되는 데이터 유형에 따라 수행 할 적절한 조치를 결정합니다. 연산자 함수에 대한 매개 변수 값인 피연산자가 사용자 정의 데이터 유형 인 경우 컴파일러는 사용중인 피연산자와 일치하는 매개 변수가있는 오버로드 된 함수를 선택합니다.

컴퓨터 언어는 이러한 유형의 임시 다형성을 허용하는 방식이 다릅니다. 언어가 다르면 새로운 사용자 정의 연산자를 만들거나 해당 연산자 전체 또는 일부를 오버로드하거나 연산자 오버로드를 전혀 허용하지 않을 수 있습니다. C ++, C #, PHP 및 Perl은 모두 일부 연산자가 오버로드되도록합니다. C, Java 및 Javascript에서는 연산자 오버로드가 허용되지 않습니다.

연산자 오버로딩과 함수 오버로딩은 모두 논쟁의 대상이되었습니다. 일부는 프로그래머가 운영자의 행동 방식을 자유롭게 변경할 수있게함으로써 맞춤형 코드를 사용하는 다른 프로그래머가 의도 치 않은 오류를 발생시킬 수 있다고 주장합니다. 반대 의견은 운영자 오버로드를 허용함으로써 프로그래머가 이해하기 쉽고, 비용이 적게 들고, 오류를 줄일 수있는 직관적이고 간결한 코드를 작성할 수있는 기능을 제공한다고 제안합니다.

다른 언어

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

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