Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

Home > Application Architecture
DEFINITION
object-oriented programming
(OOP)
By Alexander S. Gillis, Technical Writer and Editor Sarah Lewis Published: Jun 14, 2024
Object-oriented programming (OOP) is a computer programming model that
organizes software design around data, or objects, rather than functions and
logic. An object can be defined as a data field that has unique attributes and
behavior.
OOP focuses on the objects that developers want to manipulate rather than the
logic required to manipulate them. This approach to programming is well suited
for software that is large, complex and actively updated or maintained. This
includes programs for manufacturing and design, as well as mobile applications.
For example, OOP can be used for manufacturing system simulation software.
The organization of an object-oriented program also makes the method
beneficial for collaborative development, where projects are divided into groups.
Additional benefits of OOP include code reusability, scalability and efficiency.
The first step in OOP is to collect all of the objects a programmer wants to
manipulate and identify how they relate to each other -- an exercise known as
data modeling.
Examples of an object can range from physical entities, such as a human being
who is described by properties like name and address, to small computer
programs, such as widgets.
What is object-oriented programming (OOP)?
06/08/2026, 10:36 What is Object-Oriented Programming (OOP)? | Definition from TechTarget
https://www.techtarget.com/searchapparchitecture/definition/object-oriented-programming-OOP 1/8
https://www.techtarget.com/it-infrastructure/
https://www.techtarget.com/it-infrastructure/resources/Application-Architecture
https://www.techtarget.com/contributor/Alexander-S-Gillis
https://www.techtarget.com/contributor/Sarah-Lewis
https://www.techtarget.com/searchapparchitecture/definition/object
https://www.techtarget.com/searchdatamanagement/definition/data-modeling
https://www.techtarget.com/whatis/definition/widget
Once an object is known, it is labeled with a class of objects that defines the kind
of data it contains and any logic sequences that can manipulate it. Each distinct
logic sequence is known as a method. Objects can communicate with well-
defined interfaces called messages.
The structure, or building
blocks, of object-oriented
programming include the
following:
Classes are user-defined
data types that act as the
blueprint for individual
objects, attributes and
methods.
Objects are instances of
a class created with
specifically defined data.
Objects can correspond
to real-world objects or
an abstract entity. When
class is defined initially, the description is the only object that is defined.
Methods are functions that objects can perform. They are defined inside a
class that describe the behaviors of an object. Each method contained in
class definitions starts with a reference to an instance object. Additionally,
the subroutines contained in an object are called instance methods.
Programmers use methods for reusability or keeping functionality
encapsulated inside one object at a time.
Attributes represent the state of an object. In other words, they are the
characteristics that distinguish classes. Objects have data stored in the
attributes field. Class attributes belong to the class itself and are defined in
the class template.
w
What is the structure
of object-oriented
programming?
What are the main principles of OOP?
In this example, the object is a human being, who is
described by properties like name and address.k
06/08/2026, 10:36 What is Object-Oriented Programming (OOP)? | Definition from TechTarget
https://www.techtarget.com/searchapparchitecture/definition/object-oriented-programming-OOP 2/8
https://www.techtarget.com/whatis/definition/class
Object-oriented programming is based on the following principles:
Encapsulation. The encapsulation principle states that all important
information is contained inside an object and only select information is
exposed. The implementation and state of each object are privately held
inside a defined class. Other objects do not have access to this class or the
authority to make changes. They are only able to call a list of public functions
or methods. This characteristic of data hiding provides greater program
security and avoids unintended data corruption.
Abstraction. Objects only reveal internal mechanisms that are relevant for
the use of other objects, hiding any unnecessary implementation code. The
derived class can have its functionality extended. This concept can help
developers more easily make additional changes or additions over time.
Inheritance. Classes can reuse code and properties from other classes.
Relationships and subclasses between objects can be assigned, enabling
developers to reuse common logic, while still maintaining a unique hierarchy.
Inheritance forces more thorough data analysis, reduces development time
and ensures a higher level of accuracy.
Polymorphism. Objects are designed to share behaviors, and they can take
on more than one form. The program determines which meaning or usage is
necessary for each execution of that object from a parent class, reducing the
need to duplicate code. A child class is then created, which extends the
functionality of the parent class. Polymorphism enables different types of
objects to pass through the same interface.
Syntax. This is the set of rules that define how words and punctuation are
organized in a programming language.
Coupling. This is the degree to which software elements are connected to
one another. For example, if a class has its attributes change, then any other
coupled class also changes.
Association. This is the connection between one or more classes.
Associations can be one to one, many to many, one to many or many to one.
06/08/2026, 10:36 What is Object-Oriented Programming (OOP)? | Definition from TechTarget
https://www.techtarget.com/searchapparchitecture/definition/object-oriented-programming-OOP 3/8
https://www.techtarget.com/searchnetworking/definition/encapsulation
https://www.techtarget.com/whatis/definition/polymorphism
While Simula is credited as being the first object-oriented programming
language, many other programming languages are used with OOP today. But
some programming languages pair with OOP better than others. For example,
programming languages that are considered pure OOP languages treat
everything as objects. Other programming languages are designed primarily for
OOP but with some procedural processes included. Some of the most popular
programming languages are designed for, or with, OOP in mind.
For example, popular pure OOP languages include the following:
Ruby.
Scala.
JADE.
Emerald.
Programming languages designed primarily for OOP include the following:
Java.
Python.
C++.
Other programming languages that pair with OOP include the following:
Eye on Tech
What is Object-Oriented Programming (OOP)?What is Object-Oriented Programming (OOP)?
Assista no
What are examples of object-oriented programming languages?
06/08/2026, 10:36 What is Object-Oriented Programming (OOP)? | Definition from TechTarget
https://www.techtarget.com/searchapparchitecture/definition/object-oriented-programming-OOP 4/8
https://www.tiobe.com/tiobe-index/
https://www.tiobe.com/tiobe-index/
https://www.theserverside.com/definition/Java
https://www.techtarget.com/whatis/definition/Python
https://www.techtarget.com/searchdatamanagement/definition/C
https://www.theserverside.com/tutorial/JavaScript-React-and-object-oriented-programming
https://www.youtube.com/channel/UC-e2aGRMGMl67MDJoqcj19Q
https://www.youtube.com/channel/UC-e2aGRMGMl67MDJoqcj19Q
https://www.youtube.com/watch?v=6Ff5ls0TXHU
https://www.youtube.com/watch?v=6Ff5ls0TXHU
Visual Basic .NET.
PHP.
JavaScript.
Benefits of OOP include the following:
Modularity. Encapsulation enables objects to be self-contained, makingtroubleshooting and collaborative development easier.
Reusability. Code can be reused through inheritance, meaning a team does
not have to write the same code multiple times.
Productivity. Programmers can construct new programs quickly through the
use of multiple libraries and reusable code.
Easily upgradable and scalable. Programmers can implement system
functionalities independently.
Interface descriptions. Descriptions of external systems are simple, due to
message-passing techniques that are used for object communication.
Security. Using encapsulation and abstraction, complex code is hidden,
software maintenance is easier and internet protocols are protected.
Flexibility. Polymorphism enables a single function to adapt to the class it is
placed in. Different objects can also pass through the same interface.
Code maintenance. Parts of a system can be updated and maintained
without needing to make significant adjustments.
Lower cost. Other benefits, such as its maintenance and reusability, reduce
development costs.
Developers have criticized the object-oriented programming model for multiple
reasons. The largest concern is that OOP overemphasizes the data component of
software development and does not focus enough on computation or algorithms.
Additionally, OOP code may be more complicated to write and take longer to
compile.
What are the benefits of OOP?
Criticism of OOP
9 IT Infrastructure g
06/08/2026, 10:36 What is Object-Oriented Programming (OOP)? | Definition from TechTarget
https://www.techtarget.com/searchapparchitecture/definition/object-oriented-programming-OOP 5/8
https://www.techtarget.com/whatis/definition/PHP-Hypertext-Preprocessor
https://www.theserverside.com/definition/JavaScript
https://www.techtarget.com/whatis/definition/algorithm
Other common criticisms include the fact that inheritance comes with
drawbacks, such as fragile base classes. Additionally, objects are sometimes
more clear while isolated but are harder to understand when operating in the
actual program.
Alternative methods to OOP include the following:
Functional programming. This includes languages such as Erlang and Scala,
which are used for telecommunications and fault-tolerant systems.
Structured or modular programming. This includes languages such as PHP
and C#.
Imperative programming. This alternative to OOP focuses on function rather
than models. Imperative programming languages include C++ and Java.
Declarative programming. This programming method involves statements on
what the task or desired outcome is but not how to achieve it. Declarative
programming languages include Prolog and Lisp.
Logical programming. This method, which is based mostly on formal logic
and uses languages such as Prolog, contains a set of sentences that express
facts or rules about a problem domain. It focuses on tasks that can benefit
from rule-based logical queries.
Most advanced programming languages enable developers to combine models
because they can be used for different programming methods. For example,
JavaScript and Scala can be used for OOP and functional programming.
Developers who are working with OOP and microservices can address common
microservices issues by applying the principles of OOP.
Continue Reading About object-oriented
programming (OOP)
m
Breaking down the cornerstone components of OOP∙
Object-oriented vs. functional programming explained∙
The SOLID principles of object-oriented design explained∙
06/08/2026, 10:36 What is Object-Oriented Programming (OOP)? | Definition from TechTarget
https://www.techtarget.com/searchapparchitecture/definition/object-oriented-programming-OOP 6/8
https://www.techtarget.com/whatis/definition/imperative-programming
https://www.techtarget.com/searchitoperations/definition/declarative-programming
https://www.techtarget.com/searchitoperations/definition/declarative-programming
https://www.techtarget.com/searchapparchitecture/tip/To-address-microservices-issues-turn-to-OOP-principles
https://www.techtarget.com/searchapparchitecture/tip/A-breakdown-of-object-oriented-programming-concepts
https://www.techtarget.com/searchapparchitecture/tip/Functional-vs-object-oriented-programming-The-basics
https://www.techtarget.com/searchapparchitecture/feature/An-intro-to-the-5-SOLID-principles-of-object-oriented-design
Related Terms
What is a REST API? Benefits, Uses, Examples
A REST API is an architectural style for an application programming interface that uses
Hypertext Transfer Protocol (HTTP) ... See complete definition
What is an API (application programming interface)?
An application programming interface (API) is code that enables two software programs
to communicate. See complete definition
What is mobile application development?
Mobile application development is the set of processes and procedures involved in
writing software for small, wireless computing ... See complete definition
Understanding the role of polymorphism in OOP∙
Software Gallery opens at the National Museum of Computing∙
q
q
q
Dig Deeper on Application development and
design
m
What is an object in
programming?
By: Rahul Awati
What is C (programming
language)?
By: Kinza Yasar
Understanding the role of
polymorphism in OOP
Best practices for network
automation with Python
06/08/2026, 10:36 What is Object-Oriented Programming (OOP)? | Definition from TechTarget
https://www.techtarget.com/searchapparchitecture/definition/object-oriented-programming-OOP 7/8
https://www.techtarget.com/it-infrastructure/definition/What-is-a-REST-API-Benefits-Uses-Examples
https://www.techtarget.com/it-infrastructure/definition/What-is-a-REST-API-Benefits-Uses-Examples
https://www.techtarget.com/it-infrastructure/definition/What-is-a-REST-API-Benefits-Uses-Examples
https://www.techtarget.com/it-infrastructure/definition/What-is-an-API-application-programming-interface
https://www.techtarget.com/it-infrastructure/definition/What-is-an-API-application-programming-interface
https://www.techtarget.com/it-infrastructure/definition/What-is-an-API-application-programming-interface
https://www.techtarget.com/it-infrastructure/definition/What-is-mobile-application-development
https://www.techtarget.com/it-infrastructure/definition/What-is-mobile-application-development
https://www.techtarget.com/it-infrastructure/definition/What-is-mobile-application-development
https://www.techtarget.com/searchapparchitecture/tip/Understanding-the-role-of-polymorphism-in-OOP
https://www.computerweekly.com/photostory/2240185992/Software-Gallery-opens-at-the-National-Museum-of-Computing/3/A-timeline-of-the-history-of-programming-languages
https://www.techtarget.com/searchapparchitecture/definition/object
https://www.techtarget.com/searchwindowsserver/definition/C
https://www.techtarget.com/searchapparchitecture/tip/Understanding-the-role-of-polymorphism-in-OOP
https://www.techtarget.com/searchnetworking/tip/Best-practices-for-network-automation-with-Python
©2026 TechTarget, Inc. d/b/a Informa TechTarget.
All Rights Reserved. Privacy Policy Cookie Preferences Do Not Sell or Share My Personal Information
 Follow: o
 
About Us Editorial Ethics Policy Meet The Editors Contact Us Advertisers Partner with Us Media Kit
Corporate Site
Contributors Reprints Answers Definitions E-Products Events Features
Guides Opinions Photo Stories Quizzes Tips Tutorials Videos
This website is owned and operated by Informa TechTarget, a global network that informs, influences and
connects the world’s technology buyers and sellers.
By: Twain Taylor By: Verlaine Muhungu
06/08/2026, 10:36 What is Object-Oriented Programming (OOP)? | Definition from TechTarget
https://www.techtarget.com/searchapparchitecture/definition/object-oriented-programming-OOP 8/8
https://www.informatechtarget.com/terms-of-use
https://www.informatechtarget.com/privacy-policy/
https://techtarget.zendesk.com/hc/en-us/requests/new?ticket_form_id=360004852434
https://x.com/techtargetnews
https://x.com/techtargetnews
https://www.linkedin.com/showcase/techtarget-editorial/https://www.linkedin.com/showcase/techtarget-editorial/
https://www.youtube.com/c/EyeonTech
https://www.youtube.com/c/EyeonTech
https://www.tiktok.com/@eyeontech
https://www.tiktok.com/@eyeontech
https://www.informatechtarget.com/editorial/
https://www.techtarget.com/techtarget-editorial-ethics-policy
https://www.techtarget.com/editorial-contacts
https://www.informatechtarget.com/contact-us/
https://www.informatechtarget.com/for-advertisers/
https://www.informatechtarget.com/partner-with-us/
https://www.informatechtarget.com/wp-content/uploads/2023/09/TechTarget-Media-Kit-Handout-with-product-descriptions.pdf
https://www.informatechtarget.com/
https://www.techtarget.com/it-infrastructure/contributors
https://licensing.ygsgroup.com/ygspublishersolutions/
https://www.techtarget.com/it-infrastructure/answers
https://www.techtarget.com/it-infrastructure/definitions
https://www.techtarget.com/it-infrastructure/eproducts
https://www.brighttalk.com/summits
https://www.techtarget.com/it-infrastructure/features
https://www.techtarget.com/it-infrastructure/guides
https://www.techtarget.com/it-infrastructure/opinions
https://www.techtarget.com/it-infrastructure/photostories
https://www.techtarget.com/it-infrastructure/quizzes
https://www.techtarget.com/it-infrastructure/tips
https://www.techtarget.com/it-infrastructure/tutorials
https://www.techtarget.com/it-infrastructure/videos
https://www.informatechtarget.com/
https://www.informatechtarget.com/
https://www.techtarget.com/searchapparchitecture/tip/Understanding-the-role-of-polymorphism-in-OOP
https://www.techtarget.com/searchnetworking/tip/Best-practices-for-network-automation-with-Python

Mais conteúdos dessa disciplina