Lập trình hướng đối tượng là một phong cách lập trình có thể tái chế và dễ phát triển và bảo trì. Một đối tượng duy nhất, được tạo từ một lớp hoặc nguyên mẫu, có thể được sử dụng lại cho nhiều mục đích. Một lợi thế có sẵn cho các lập trình viên hướng đối tượng là sử dụng tính năng đóng gói, ngăn chặn thao tác ngẫu nhiên bằng cách cho phép thiết lập các giới hạn truy cập trên các phần của một đối tượng. Vì mã hướng đối tượng dễ điều hướng, nên các bản cập nhật nhanh hơn nhiều.
Các đối tượng có nhiều tính năng khiến chúng liên quan đến các hoạt động hàng ngày. Các đối tượng thực hiện các hành động được gọi là phương thức. Tùy thuộc vào mã, một đối tượng có thể kế thừa các hành động và các thuộc tính khác từ hệ thống phân cấp của các lớp hoặc nguyên mẫu ngày càng trừu tượng. Ví dụ: Một đối tượng poodle và một đối tượng bulldog đều có thể kế thừa khả năng sủa từ lớp chó. Lớp chó có thể kế thừa các thuộc tính từ lớp động vật có vú, v.v.
Lập trình dựa trên lớp và dựa trên nguyên mẫu là hai kiểu lập trình hướng đối tượng. Một đối tượng trong lập trình dựa trên lớp được tạo ra từ lớp của nó, là thiết kế ban đầu của một đối tượng do nhà phát triển mã hóa. Các đối tượng trong lập trình dựa trên nguyên mẫu do nhà phát triển trực tiếp tạo ra và các đối tượng trùng lặp được tạo từ đối tượng nguyên mẫu này.
Vì lập trình hướng đối tượng có thể tái chế, nhà phát triển có thể lấy mã từ một chương trình và dễ dàng đặt nó vào chương trình khác mà không cần lo lắng về những thay đổi lớn.