꼭 필요한 경우가 아니면 연산자 오버로딩은 사용하지 마라.
연산자 오버로드란 프로그래밍 언어에서 ==, !=, +, -와 같은 연산자의 동작을 변경하는 방법이다. 연산자 오버로딩을 배운 개발자는 적합하지 않은 클래스에 이상하게 동작하는 자신만의 언어를 만드는 경향이 있다. 예를 들면 db += record와 같은 구문으로 테이블 레코드를 삽입하기 위해 += 연산자를 오버로딩한다. 이러한 의도를 알아채는 것은 거의 불가능하며, 설명서를 읽지 않는다면 절대 발견할 수 없을 것이다. 타입이 오버로드되는 연산자를 검색하는 IDE 기능도 없다. 연산자 오버로딩을 불필요하게 사용하지 마라. 심지어 본인조차도 그것이 무엇을 위한 것이었는지 잊어버리고 자책하게 될 것이다. 연산자 오버로딩은 등가 연산자와 타입캐스팅(typecasting) 연산자를 대체하기 위한 목적으로만, 꼭 필요할 때만 사용하라. 꼭 필요하지 않다면 이를 구현하는 데 시간을 낭비하지 마라.
클래스가 표현하는 값과 클래스 자체를 의미론적으로 동일하게 만들기 위해 일부 코드에서는 연산자 오버로드를 사용할 것이다. 숫자와 마찬가지로 클래스에서도 == 연산자는 같은 방식으로 작동해야 한다.