C ++의 객체 지향 프로그래밍에 대해 알아야 할 모든 것



이 기사는 C ++의 객체 지향 프로그래밍 인 반복 프로그래밍 접근 방식에 대한 심도있는 소개를 제공합니다.

프로그래밍 세계가 등장했을 때 확실히 폭풍에 휩싸 였고 여전히 프로그래밍의 기초를 형성하고 있습니다. 이 기사에서는 C ++의 객체 지향 프로그래밍을 살펴 봅니다. 이 기사에서는 다음과 같은 포인터를 다룰 것입니다.

C ++의 네임 스페이스는 무엇입니까

C ++의 객체 지향 프로그래밍에 대한이 기사 시작하기





객체 지향 프로그래밍이란?

객체 지향 접근 방식의 발명의 주된 동기는 절차 적 접근 방식에서 발생하는 몇 가지 결함을 제거하는 것입니다. OOP에서 데이터는 프로그램 개발의 중요한 요소로 취급되며 시스템 주변의 흐름을 제한합니다. 데이터를 작동하는 기능에 더 가깝게 연결하고 외부 기능에서 실수로 수정하지 않도록 보호합니다. 이를 통해 문제가 개체라고하는 여러 개체로 분리 된 다음 이러한 개체를 중심으로 데이터와 함수를 구축 할 수 있습니다. 개체의 데이터는 해당 특정 개체와 관련된 함수를 통해서만 액세스 할 수 있습니다. 그러나 한 개체의 기능은 필요한 경우 다른 개체의 기능에 액세스 할 수 있습니다.

C ++의 객체 지향 프로그래밍에 대한이 기사를 계속 진행합니다.



객체 지향 프로그래밍의 특징 :

  • 절차보다는 데이터에 더 중점을 둡니다.
  • 프로그램은 개체로 나누어 져있어 작업하기 쉽습니다.
  • 데이터 구조는 객체를 특성화하는 방식으로 설계됩니다.
  • 작동하는 기능의 위에객체의 데이터는 데이터 구조에 함께 배치됩니다.
  • 데이터는 숨겨져 있으며 권한없이 외부 기능에서 액세스 할 수 없습니다.
  • 객체 간의 통신은 함수의 도움으로 이루어질 수 있습니다.
  • 새로운 데이터 및 기능 추가가 쉬워졌습니다.
  • 프로그램 설계에서 상향식 접근 방식을 따릅니다.

C ++의 객체 지향 프로그래밍에 대한이 기사를 계속 진행합니다.

사물

객체는 OOP에서 가장 기본적인 run & middottime 엔티티로, 벡터, 시간 및 목록과 같은 사용자 및 middot 정의 데이터 또는 프로그램이 처리해야하는 모든 항목을 나타낼 수 있습니다. 프로그래밍 문제는 개체와 개체 간의 통신 특성을 기반으로 분석됩니다. 실제 개체와 거의 일치하도록 개체를 선택해야합니다. 객체는 메모리에서 공간을 차지하며 연관된 주소가 없습니다. 실행 개체는 서로 메시지를 보내 상호 작용합니다. 예를 들어, 'Student'와 * Student_roll_no '가 프로그램의 두 개체 인 경우 Student 개체는 Student_roll_no 개체에 관련 마크를 요청하는 메시지를 보낼 수 있습니다. 각 개체에는 데이터를 조작하는 코드가 포함되어 있습니다. 객체는 서로의 데이터 또는 코드와 상호 작용할 수 있습니다.

객체 지향 프로그래밍 C ++에 대한이 기사를 계속 진행합니다.



클래스

객체의 전체 코드 세트는 클래스의 도움으로 사용자 정의 데이터 유형으로 만들 수 있습니다. 실제로 객체는 유형 클래스의 변수입니다. 일단 클래스를 정의하면 그 클래스에 속하는 객체를 얼마든지 만들 수 있습니다. 각 객체는 생성 된 클래스 유형의 데이터와 연관 될 수 있습니다. 따라서 클래스는 유사한 유형의 객체 모음 일뿐입니다. 예를 들어 모바일, 랩톱 및 스마트 워치는 모두 전자 클래스의 구성원입니다. 클래스는 사용자 정의 데이터 유형입니다. 객체를 만드는 데 사용되는 구문은 매우 간단합니다. 전자 장치가 클래스로 정의 된 경우, 전자 랩톱 문은 전자 클래스에 속하는 개체 랩톱을 만듭니다.

전자 노트북

이것은 전자 클래스에 속하는 개체 노트북을 만듭니다.

C ++의 객체 지향 프로그래밍에 대한이 기사를 계속 진행합니다.

캡슐화

캡슐화는 데이터와 정보를 단일 단위로 묶는 것으로 정의 할 수 있습니다. 객체 지향 프로그래밍에서 캡슐화는 데이터와이를 조작하는 함수를 결합하는 것으로 정의됩니다.

캡슐화-Cpp의 객체 지향 프로그래밍-Edureka

캡슐화의 실제 예를 고려해보십시오. 학교에는 학생 섹션, 교사 섹션, 계정 섹션 등과 같은 여러 섹션이 있습니다. 학생 섹션은 모든 학생의 활동을 처리하고 금융과 관련된 모든 데이터를 기록합니다. 마찬가지로 교사 섹션에서는 교사의 모든 관련 활동을 처리하고 학생의 모든 점수와 성과를 기록합니다. 이제 어떤 이유로 학생 섹션의 학생이 모든 학생의 점수와 성과에 대한 모든 데이터를 필요로하는 상황이 발생할 수 있습니다. 이 경우 그는 교사 섹션의 데이터에 직접 액세스 할 수 없습니다. 그는 먼저 교사 섹션의 일부 교사에게 연락 한 다음 모든 데이터를 제공하도록 요청해야합니다. 이것이 캡슐화입니다. 여기에서 학생 섹션의 데이터와이를 조작 할 수있는 교사 섹션은 '교사 섹션'이라는 단일 이름으로 래핑됩니다.

이 기사로 이동

추출

추상화는 응용 프로그램의 중요하고 필요한 기능 만 표시하고 세부 정보를 숨기는 것을 의미합니다. C ++에서 클래스는 외부 세계에 액세스 할 수있는 데이터와 함수를 제공하여 변수를 직접 액세스 할 수 없도록 숨기거나, 클래스는 모든 사람이 액세스 할 수있는 모든 것을 선언 할 수도 있고, 상속하는 클래스에 대해서만 선언 할 수도 있습니다. 요구 사항.

이는 액세스 지정자를 사용하여 수행 할 수 있습니다. C ++에는 3 개의 액세스 지정자가 있습니다.

  • 은밀한
  • 보호
  • 공공의

이 기사로 이동

다형성

다형성이라는 단어는 다양한 형태를 가짐을 의미합니다. 다형성은 함수 나 데이터가 하나 이상의 형태로 표시되는 능력으로 정의 할 수 있으며, 사람은 동시에 다른 특성을 가질 수 있습니다. 소년으로서 동시에 학생, 형제, 아들입니다. 그래서 같은 사람이 다른 상황에서 다른 행동을합니다. 이것을 다형성이라고합니다.

작업은 다른 인스턴스의 요구 사항에 따라 다른 동작을 나타낼 수 있습니다. 동작은 사용되는 데이터 유형과 작업 요구 사항에 따라 다릅니다.

C ++는 연산자 오버로딩 및 함수 오버로딩을 지원합니다.

  • 연산자 오버로딩 : 연산자가 다른 인스턴스에서 다른 동작을 나타내도록 만드는 프로세스입니다.
  • 함수 오버로딩 : 함수 오버로딩은 단일 함수 이름을 사용하여 다양한 유형의 작업을 수행합니다.

다형성은 상속을 구현하는 데 광범위하게 사용됩니다.

C ++의 객체 지향 프로그래밍에 대한이 기사를 계속 진행합니다.

계승

상속은 한 클래스의 개체가 다른 클래스의 개체의 속성, 함수 및 데이터를 획득 할 수있는 프로세스입니다. 계층 적 분류의 개념을 따릅니다. 예를 들어 새 '참새'는 '새'클래스의 일부인 '플라잉 버드'클래스의 일부입니다. 이러한 구분의 도움으로 각 파생 클래스는 상속 된 클래스와 공통 특성 및 데이터를 공유합니다. 상속은 재사용 가능성을 제공합니다. 즉, 기존 클래스를 수정하거나 변경하지 않고도 기존 클래스에 추가 기능을 추가 할 수 있습니다. 기존 클래스에서 새 클래스를 파생 시키면 가능합니다. 새 클래스는 부모 및 자식 클래스의 결합 된 기능을 얻습니다.

상속의 실제 사용은 프로그래머가 자신이 원하는 것과 거의 같지만 정확하지는 않은 클래스를 재사용하고 바람직하지 않은 부작용을 일으키지 않는 방식으로 클래스를 변경하고 변경할 수 있다는 것입니다. 나머지 수업에. 각 하위 클래스는 고유 한 기능 만 정의하고 나머지는 상위 클래스에서 파생됩니다. 분류를 사용하지 않으면 각 클래스는 많은 시간과 노력이 소요되는 모든 기능을 명시 적으로 포함해야합니다.

따라서 우리는 'C ++의 객체 지향 프로그래밍'에 대한이 기사를 끝냈습니다. 자세한 내용은 다음을 확인하십시오. 신뢰할 수있는 온라인 학습 회사 인 Edureka에서 제공합니다. Edureka의 Java J2EE 및 SOA 교육 및 인증 과정은 Hibernate & Spring과 같은 다양한 Java 프레임 워크와 함께 핵심 및 고급 Java 개념 모두에 대해 교육하도록 설계되었습니다.

질문이 있으십니까? 이 블로그의 댓글 섹션에 언급 해 주시면 가능한 한 빨리 답변을 드리겠습니다.