This assignment aims to introduce its readers to the concept of Object-oriented Programming (OOP), a widely used term in the domain of software engineering.
Parenthetical definition:
Object-oriented programming (OOP; a computer programming model based on the concept of “objects” (Wikipedia)) languages include Java, Python, C++, and more.
Sentence definition:
Object-oriented programming (OOP) is a type of programming in which programs are composed of objects which communicate with each other (Merriam-Webster). An object can be defined as a data field that has unique attributes and behavior.
Expanded definition:
Comparison
Object-oriented programming (OOP) is often compared to procedural programming. Procedural programming is a programming paradigm that directly inputs procedures or instructions on a device to finish a task by following logical steps (Hackr.io.). While procedural programming is useful for general-purpose programming (e.g. creating a basic calculator for arithmetic), its code is often not reusable or mutable, which makes it difficult for programs that need to take into account real-word information. On the other hand, OOP is a programming paradigm that encapsulates data into objects that contain meaning and are self-sustainable. This makes it easy for programmers to reflect real-word information and make it more understandable. It also allows for programmers to reuse, update or modify code or information with more ease.
Structure
The structure of object-oriented programming include the following building blocks (Gillis & Lewis, 2021):
- Classes are data types that act as a blueprint or template for objects, attributes and methods.
- Objects are instances of a class that are created with specifically defined data.
- Methods are functions that are defined inside a class that describe a behavior of an object.
- Attributes are defined in the class template and represent the state of an object.

Figure 1: An example of the structure and naming in OOP. Source: Gillis, A. S., & Lewis, S. (2021, July 13). What is object-oriented programming (OOP)? SearchAppArchitecture.
Example
The concept of OOP can be better understood by using real-world examples. Say that we are creating a dog simulation game. It would first make sense to create a Dog class, because any instance of a dog will have common attributes or behavior. If we create a specific instance of a dog, such as a golden retriever named Goldie or poodle called Noodle, each instance or object will be created with property values including its color and size contained in that instance. Each dog instance can perform methods (i.e. exhibit behavior) that are defined in the class, such as “Sit” and “Lay Down”.

Figure 2: Image of Dog class and instance (object). Source: Singh, A. (2020, January 14). Object-oriented programming. Medium.
Citation
Gillis, A. S., & Lewis, S. (2021, July 13). What is object-oriented programming (OOP)? SearchAppArchitecture. Retrieved June 8, 2022, from https://www.techtarget.com/searchapparchitecture/definition/object-oriented-programming-OOP
Merriam-Webster. (n.d.). Object-oriented programming definition & meaning. Merriam-Webster. Retrieved June 8, 2022, from https://www.merriam-webster.com/dictionary/object-oriented%20programming
Singh, A. (2020, January 14). Object-oriented programming. Medium. Retrieved June 8, 2022, from https://medium.com/@singhamritpal49/object-oriented-programming-9beb509d4fcf
What is procedural programming? [definition] – key features. Hackr.io. (n.d.). Retrieved June 8, 2022, from https://hackr.io/blog/procedural-programming
Wikimedia Foundation. (2022, June 1). Object-oriented programming. Wikipedia. Retrieved June 8, 2022, from https://en.wikipedia.org/wiki/Object-oriented_programming
Leave a Reply