การเขียนโปรแกรมเชิงวัตถุ (OOP) เป็นรูปแบบของภาษาการเขียนโปรแกรมที่มุ่งเน้นการใช้วัตถุแทนการกระทำเพื่อดำเนินงาน สิ่งนี้เกี่ยวข้องกับการใช้วิธีการที่คำนึงถึงข้อมูลมากขึ้นและไม่เกี่ยวข้องกับตรรกะซึ่งโดยทั่วไปจะเป็นกรณีของกระบวนทัศน์การเขียนโปรแกรมอื่น ๆ มุมมองของวัตถุและการกระทำคือสิ่งที่ตรงกันข้ามในภาษาอื่น ๆ และการเน้นอยู่ที่วัตถุเองมากกว่าในการปฏิบัติงานที่ใช้วัตถุ ในทำนองเดียวกันโครงสร้างไม่ได้พิจารณาการตัดสินใจเกี่ยวกับวิธีการใช้ตรรกะ แต่ในความหมายของข้อมูลที่จะใช้ในการเขียนโปรแกรม
การออกแบบซอฟต์แวร์คอมพิวเตอร์ด้วยการเขียนโปรแกรมเชิงวัตถุเริ่มต้นด้วยการกำหนดวัตถุที่จะจัดการโดยโปรแกรม โปรแกรมเมอร์จะเริ่มระบุความสัมพันธ์ระหว่างแต่ละวัตถุกระบวนการที่มักจะเรียกว่าการสร้างแบบจำลองข้อมูล โดยพื้นฐานแล้วโปรแกรมเมอร์กำลังมองหาที่จะวางวัตถุลงในการจัดหมวดหมู่จึงช่วยในการกำหนดข้อมูลที่เป็นส่วนหนึ่งของการสืบทอดมาถึงงานโดยแต่ละวัตถุ อันที่จริงแล้วกระบวนการของการกำหนดคลาสและคลาสย่อยของข้อมูลเหล่านี้เรียกว่าการสืบทอด
OOP ยังช่วยในการจัดเรียงวัตถุในลักษณะที่ทำให้เกิด polymorphism นั่นคือวัตถุที่แตกต่างกันจะสามารถตอบสนองต่อข้อความทั่วไป แต่แต่ละคนในวิธีที่แตกต่างที่เป็นเอกลักษณ์ของวัตถุนั้น ในขณะเดียวกันการเขียนโปรแกรมประเภทนี้ช่วยให้สามารถห่อหุ้มวัตถุได้อย่างมีประสิทธิภาพซ่อนหรือปกป้องข้อมูลที่เกี่ยวข้องกับวัตถุจากมุมมองที่ง่ายโดยไม่ต้องเข้าถึงการรักษาความปลอดภัย
ข้อดีอย่างหนึ่งของการเขียนโปรแกรมเชิงวัตถุคือกระบวนการใช้ประโยชน์จากความเป็นโมดูลได้ดีซึ่งหมายความว่าวัตถุและงานต่าง ๆ จะถูกจัดกลุ่มในลักษณะที่แต่ละโมดูลมีความสามารถในการพิจารณาอย่างอิสระ สิ่งนี้สามารถช่วยได้อย่างมากเมื่อทำการปรับปรุงโปรแกรมเนื่องจาก modularity ทำให้สามารถกำหนดภารกิจของการสลับการตั้งค่าส่วนหนึ่งของการเขียนโปรแกรมได้โดยไม่กระทบต่อโครงสร้างและหน้าที่ของโมดูลอื่น ๆ


