[Java] 객체 지향 프로그래밍(OOP) 정리
OOP(Object-Oriented Programming) 정리
OOP란?
- 객체 지향 프로그래밍(Object-Oriented Programming, OOP)은 소프트웨어 개발 패러다임 중 하나로, 현실 세계의 개체(Object)를 모델링하여 소프트웨어를 구성하는 방식
- 이 패러다임은 프로그램을 객체(Object)라는 기본 구성 요소들로 나누고, 이러한 객체들 간의 상호 작용을 통해 프로그램을 설계하고 구현
OOP의 주요 특징
1. 캡슐화 (Encapsulation):
- 객체는 데이터와 해당 데이터를 조작하는 메서드(함수)를 하나로 묶어 캡슐화
- 이는 정보 은닉을 통해 객체의 내부 구현을 외부에서 감춤으로써 객체의 안정성과 재사용성을 높인다.
2. 상속 (Inheritance):
- 상속은 기존 클래스의 특성을 그대로 이어받아 새로운 클래스를 만들 수 있게 함
- 이로써 코드의 재사용성이 증가하며, 소프트웨어의 구조가 유연해짐
3. 다형성 (Polymorphism):
- 다형성은 동일한 인터페이스를 사용하여 다른 동작을 수행하거나 객체를 다양하게 처리할 수 있는 능력을 말함
- 이는 코드의 유연성을 높이고, 코드의 가독성을 향상시킨다.
4. 추상화 (Abstraction):
- 추상화는 복잡한 시스템에서 핵심적인 개념 또는 기능을 간추려 내는 과정을 말함
- 객체 지향 프로그래밍에서는 클래스를 통해 추상화를 구현하고, 객체는 이러한 추상화된 개념을 구체화
5. 클래스와 객체 (Class and Object):
- 클래스는 객체를 생성하기 위한 일종의 틀 또는 설계도로, 객체의 속성과 메서드를 정의
- 객체는 이러한 클래스를 기반으로 생성된 실체로, 클래스에서 정의한 속성과 메서드를 가진다.
객체 지향 프로그래밍은 현실 세계의 개념을 모델링하고 이를 기반으로 소프트웨어를 설계함으로써 코드의 가독성, 재사용성, 유지보수성 등을 향상시킬 수 있고, Java, C++, Python, C# 등 다양한 프로그래밍 언어에서 객체 지향 프로그래밍을 지원
This post is licensed under CC BY 4.0 by the author.