ตัวดำเนินการโอเวอร์โหลดเป็นคุณสมบัติภาษาคอมพิวเตอร์ที่อนุญาตให้โปรแกรมเมอร์เขียนทับตัวดำเนินการเริ่มต้น เมื่อฟังก์ชันโอเปอเรเตอร์มีการโอเวอร์โหลดอาจมีการประกาศด้วยอาร์กิวเมนต์ที่กำหนดเองซึ่งเป็นประเภทข้อมูลที่แตกต่างจากสิ่งที่ผู้ปฏิบัติงานสามารถจัดการได้ตามค่าเริ่มต้น พารามิเตอร์ใหม่อาจเป็นแบบดั้งเดิมหรือประเภทที่ผู้ใช้กำหนด ภายในเนื้อความของฟังก์ชันการแทนที่โปรแกรมเมอร์อาจปรับเปลี่ยนค่าพารามิเตอร์ได้ตามต้องการ ด้วยการใช้ตัวดำเนินการโอเวอร์โหลดโปรแกรมเมอร์สามารถสร้างทางลัดที่ใช้งานง่ายสำหรับการจัดการชนิดข้อมูลที่ผู้ใช้กำหนดหรือปรับเปลี่ยนวิธีการจัดการชนิดข้อมูลเริ่มต้น
เมื่อผู้ใช้สร้างชนิดข้อมูลที่กำหนดไว้จะไม่มีวิธีในการดำเนินงานอย่างง่ายเช่นการเพิ่มสองชนิดเข้าด้วยกันหรือเพิ่มข้อมูลภายในโดยใช้ตัวดำเนินการส่วนเพิ่มพร้อมกับชนิดข้อมูล ตัวดำเนินการรวมถึงสัญลักษณ์การเพิ่มสามารถแทนที่ได้ดังนั้นหากใช้เป็นตัวดำเนินการไบนารีระหว่างชนิดข้อมูลแบบกำหนดเองสองชนิดผู้ใช้จะส่งคืนผลลัพธ์ที่ผู้ใช้กำหนด ในทำนองเดียวกันตัวดำเนินการ unary เช่นตัวดำเนินการเพิ่มอาจถูกเขียนทับเพื่อเพิ่มค่าภายในภายในชนิดที่ผู้ใช้กำหนด
เมื่อตัวดำเนินการโอเวอร์โหลดคอมไพเลอร์จะต้องตัดสินใจเกี่ยวกับสิ่งที่ต้องทำเมื่อพบตัวดำเนินการที่โอเวอร์โหลด คอมไพเลอร์ตัดสินใจการดำเนินการที่เหมาะสมที่จะดำเนินการตามชนิดข้อมูลที่ถูกใช้เป็นตัวถูกดำเนินการหรือร่วมกับตัวดำเนินการ หากตัวถูกดำเนินการซึ่งเป็นค่าพารามิเตอร์ของฟังก์ชั่นผู้ประกอบการเป็นประเภทข้อมูลที่ผู้ใช้กำหนดคอมไพเลอร์จะเลือกฟังก์ชั่นโอเวอร์โหลดที่มีพารามิเตอร์ที่ตรงกับตัวถูกดำเนินการที่ใช้
ภาษาคอมพิวเตอร์แตกต่างกันไปในวิธีที่พวกเขาอนุญาตให้มีความหลากหลายในรูปแบบเฉพาะกิจ ภาษาที่แตกต่างกันอาจอนุญาตให้มีการสร้างโอเปอเรเตอร์แบบกำหนดเองใหม่การโอเวอร์โหลดของโอเปอเรเตอร์ทั้งหมดหรือบางส่วนหรืออาจไม่อนุญาตให้โอเปอเรเตอร์โอเวอร์โหลดเลยก็ได้ C ++, C #, PHP, และ Perl ทั้งหมดอนุญาตให้โอเปอเรเตอร์ของพวกเขาโอเวอร์โหลด ไม่อนุญาตให้ผู้ประกอบการโอเวอร์โหลดใน C, Java และ Javascript
การใช้งานมากเกินไปและการใช้งานมากเกินไปโดยทั่วไปเป็นประเด็นถกเถียง บางคนอ้างว่าการให้โปรแกรมเมอร์มีอิสระในการเปลี่ยนวิธีการทำงานของผู้ปฏิบัติงานสามารถแนะนำศักยภาพในการสร้างข้อผิดพลาดโดยไม่ตั้งใจโดยโปรแกรมเมอร์อื่น ๆ ที่ใช้รหัสที่กำหนดเอง มุมมองของฝ่ายตรงข้ามเสนอว่าการอนุญาตให้ผู้ปฏิบัติงานทำงานหนักเกินไปทำให้โปรแกรมเมอร์มีความสามารถในการสร้างรหัสที่ใช้งานง่ายและรัดกุมซึ่งจะเข้าใจง่ายขึ้นลดค่าใช้จ่ายในการผลิตและลดข้อผิดพลาด


