객체 지향 프로그래밍(OOP)은 "객체" 개념에 기반한 프로그래밍 패러다임으로, 종종 속성으로 알려진 필드 형식의 데이터를 포함할 수 있습니다. 그리고 종종 메소드로 알려진 절차 형태의 코드. 예를 들어, 사람은 키, 성별, 나이 등과 같은 특정 속성을 가진 개체입니다. 또한 이동, 말하기 등과 같은 특정 메서드가 있습니다.
개체
객체 지향 프로그래밍의 기본 단위입니다. 즉, 데이터와 데이터에 대해 작동하는 기능이 모두 객체라는 단위로 묶인 것입니다.
수업
클래스를 정의할 때 개체에 대한 청사진을 정의합니다. 이것은 실제로 데이터를 정의하지 않지만 클래스 이름이 의미하는 바, 즉 클래스의 개체가 무엇으로 구성되고 이러한 개체에서 수행할 수 있는 작업을 정의합니다.
OOP에는 전적으로 기반을 두고 있는 4가지 기본 개념이 있습니다. 개별적으로 살펴보겠습니다 -
- 추상화 - 외부 세계에 필수적인 정보만 제공하고 배경 정보를 숨기는 것을 말합니다. 예를 들어, 웹 서버는 수신한 데이터를 처리하는 방법을 숨기고 최종 사용자는 끝점에 도달하여 데이터를 다시 가져옵니다.
- 캡슐화 - 캡슐화는 데이터 멤버(변수, 속성) 및 멤버 함수(메소드)를 단일 단위로 바인딩하는 프로세스입니다. 특정 속성이나 구성 요소에 대한 액세스를 제한하는 방법이기도 합니다. 캡슐화의 가장 좋은 예는 클래스입니다.
- 상속 - 기존 클래스에서 새 클래스를 만드는 기능을 상속이라고 합니다. 상속을 사용하여 부모 클래스의 속성과 메서드를 상속하고 고유한 추가 속성과 메서드를 가질 수 있도록 부모 클래스에서 자식 클래스를 만들 수 있습니다. 예를 들어 Color, Price 등과 같은 속성이 있는 Vehicle 클래스가 있는 경우 해당 2개의 속성이 있는 Bike 및 Car와 같은 2개의 클래스를 생성할 수 있으며 자동차에는 numberOfWindows가 있는 반면 추가 속성은 해당 속성에 특화되어 있습니다. 자전거는 할 수 없습니다. 메소드에도 동일하게 적용됩니다.
- 다형성 - 다형성이라는 단어는 많은 형태를 갖는다는 의미입니다. 일반적으로 다형성은 클래스의 계층 구조가 있고 상속으로 관련되어 있을 때 발생합니다. C++ 다형성은 멤버 함수를 호출하면 해당 함수를 호출하는 객체의 유형에 따라 다른 함수가 실행된다는 의미입니다.