# 객체 지향 프로그래밍(Object-Oriented Programming; OOP)이란?
- 객체(클래스의 인스턴스들)를 사용하여 코드를 설계하고 구성하는 프로그래밍 패러다임
- 핵심 아이디어는 현실 세계의 엔터티들과 그들의 상호 작용을 직관적이고 효율적인 방식으로 모델링하는 것
# 객체 지향 프로그래밍(OOP)의 주요 개념
- Classes and Objects:
- 클래스(Class): 객체를 생성하기 위한 청사진 혹은 템플릿. 데이터 구조와 해당 데이터에 작용하는 메서드나 함수를 정의한다.
- 객체(Object): 클래스의 인스턴스. 클래스에 의해 정의된 구조를 기반으로 생성된다.
- Encapsulation:
- 데이터(속성)와 해당 데이터를 조작하는 메서드(함수)를 클래스라는 단일 단위로 묶는 것
- 객체의 데이터가 어떻게 구현되고 조작되는지 외부에 드러나지 않게 하며, 깔끔하고 체계적인 인터페이스를 제공한다.
- Inheritance:
- 클래스(하위 또는 파생 클래스)가 다른 클래스(상위 또는 기본 클래스)로부터 속성과 동작을 상속받을 수 있는 기능
- 공통 기능이 기본 클래스에서 정의되고 여러 파생 클래스에서 공유될 수 있도록 하여 코드 재사용을 용이하게 한다.
- Polymorphism:
- 다형성은 다양한 형태를 의미하며, 다른 클래스의 객체를 공통 기본 클래스의 객체처럼 다룰 수 있도록 한다.
- 공통 인터페이스에서 정의된 메서드에 대해 서로 다른 클래스의 독립적인 구현을 허용하여 유연성과 확장성을 갖게 한다.
- Abstraction:
- 복잡한 시스템을 핵심 속성과 해당 문제에 관련된 동작을 기반으로 클래스를 모델링하여 단순화하는 것
- 개발자가 세부적인 것에 영향받지 않고 고수준 기능에 집중할 수 있도록 한다.
- Association:
- 클래스 간의 관계. 한 클래스의 객체가 다른 클래스의 객체와 연관될 수 있으며, 이는 어떤 형태의 연결 또는 의존성을 나타낸다.
728x90
'etc' 카테고리의 다른 글
RFM 고객 세분화 분석 팁 (2) | 2025.01.20 |
---|---|
RFM 고객 세분화 분석에서 합리적으로 기준 설정하기 (0) | 2025.01.20 |
RFM 고객 세분화 분석 (0) | 2025.01.19 |
정보 검색 잘하는 방법 (2) | 2025.01.08 |
데이터 관련 자격증 (2) | 2024.01.05 |