Để bắt đầu, tôi sẽ cho bạn thấy một cái nhìn đơn giản, ở mức khái quát về lập trình hướng đối tượng (OOP). Tôi nói đơn giản, bởi vì bạn sẽ nhanh chóng thấy sự phức tạp của OOP, và chuẩn bị sẵn các phương thức để “điều trị” trước khi nó làm khó bạn. Ý tưởng cơ bản của OOP đó là chúng ta mô phỏng các đối tượng trong thế giới thực vào trong các chương trình, và hoặc cung cấp cách thức đơn giản để truy xuất vào các chức năng mà trên thực tế khó hoặc không thể sử dụng được.
Các đối tượng có thể chứa các dữ liệu và mã liên quan, chúng thể hiện thông tin về thứ mà bạn đang muốn mô hình hóa, và chức năng hay hành vi mà bạn muốn chúng có. Dữ liệu đối tượng (và thường cả các chức năng) có thể được lưu trữ một cách gọn gàng (thường được gọi là bao gói – encapsulated) bên trong một gói đối tượng (thường đặt tên cụ thể, đôi khi gọi là namespace), điều này giúp nó dễ dàng được cấu trúc và truy xuất; các đối tượng cũng thường được sử dụng cho việc lưu trữ dữ liệu để dễ dàng gửi qua mạng.