C++에서 추상화란 무엇입니까? 실제 사례 및 구현
게시 됨: 2021-05-19객체 지향 프로그래밍(OOP) 은 프로그래밍의 가장 인기 있는 패러다임 이며 프로그래머를 위한 표준 코딩 방법입니다. OOP는 클래스와 객체의 개념에서 작동합니다 . 소프트웨어 프로그램을 개별 개체를 생성하기 위한 클래스라고 하는 간단하고 재사용 가능한 코드 조각으로 구성합니다. C++는 객체 지향 프로그래밍 언어이며 C++의 추상화는 가장 중요한 C++ 기능 중 하나이며 이 기사의 하이라이트입니다.
객체 지향 프로그래밍은 프로그램의 유연성을 향상시키기 위한 것입니다. 이 기사에서는 C++ 프로그램에서 데이터 추상화가 수행되는 이점과 함께 데이터 추상화를 수행하는 방법에 대해 설명합니다.
목차
C++의 데이터 추상화
추상화는 '멀리'를 의미하는 'abs'와 '끌어 내다'를 의미하는 'traction'의 두 가지 라틴어 단어에서 파생되며 전체 세부 사항을 포함하지 않고 필요한 필수 기능을 나타냅니다.
C++ 클래스는 함수와 같은 추상 속성 목록으로 추상화를 수행합니다. 그들은 생성할 객체의 모든 필수 속성을 넣습니다. 속성을 데이터 멤버 라고 하고, 속성에 대해 작동하는 기능을 멤버 함수라고 합니다. 데이터 추상화 개념을 사용하는 C++ 클래스를 추상 데이터 유형이라고 합니다.
원천
클래스를 사용하는 동안 데이터 멤버와 멤버 함수는 코드에 표시됩니다. 그러나 내장 데이터 유형과 클래스의 멤버는 데이터 추상화라고 하는 개체를 사용하는 동안 무시됩니다.
C++에서 추상화를 보여주는 프로그램
#include <iostream.h>
# 포함 <conio.h>
수업 합계
{
// 데이터 추상화
개인 : int x,y,z;
공개 :
무효 추가()
{
clrscr();
cout<< "두 개의 숫자를 입력하세요: " ;
신>>x>>y;
z=x+y;
cout<< "숫자의 합: " <<z;
}
};
무효 메인()
{
합계 s;
s.add();
getch();
}
산출
두 개의 숫자 입력:
22
23
숫자의 합: 45
추상화 를 보여주는 실제 사례
추상화는 관련 세부 정보만 사용자에게 표시되고 관련 없는 세부 정보는 숨겨지는 객체 지향 프로그래밍의 기능입니다.
다음 예제를 통해 C++의 추상화를 이해할 수 있습니다 .
이메일을 보낼 때 보내기를 클릭하기만 하면 보낸 영수증을 받을 수 있습니다. 여기서 추상화된 것은 수신자에게 전송된 데이터입니다.
전화기의 중요한 기능은 메모리 카드, SIM, 배터리 수명, 디자인 및 프로세서입니다. 전화기를 작동하는 동안 보이지 않는 다양한 미디어에 대한 CPU 메모리 할당과 같은 전화기의 작동 세부 정보는 알 수 없습니다. 휴대폰 내부에서 무슨 일이 일어나는지 모른 채 휴대폰의 특정 명령과 버튼만 사용할 수 있습니다.
자동차를 운전하는 남자는 엑셀을 밟으면 자동차의 속도가 빨라진다는 것을 알지만 그는 노하우를 모르며 이는 추상화에 불과하다.
C++에서 데이터 추상화 구현
C++는 객체 지향 프로그래밍 접근 방식입니다. C++ 의 데이터 추상화 는 두 가지 방식으로 구현됩니다.
- 클래스와 객체 사용
- 헤더 파일 사용
원천
1. 클래스와 객체 사용하기
특정 데이터 멤버 또는 멤버 함수를 클래스 외부에서 액세스할 수 있도록 추상화하거나 클래스의 도움으로 public, private 또는 protected 액세스 지정자를 사용하지 않도록 선택할 수 있습니다.
2. 헤더 파일 사용
헤더 파일에는 해당 헤더 파일에 연결된 내장 라이브러리 기능이 포함됩니다. 헤더 파일 #include<string.h>의 경우 프로그래머는 strcpy() 및 strlen() 함수 등에 액세스할 수 있습니다.
프로그램:
클래스, 객체 및 헤더 파일을 사용하여 추상화를 이해하는 간단한 C++ 프로그램을 살펴보겠습니다 .
#include <iostream>
네임스페이스 std 사용
클래스 추상화
{
// 사적인
정수 num1, num2;
공공의:
// private 멤버에 접근하기 위해
무효 입력(int n1, int n2)
{
num1 = n1;
숫자2 = n2;
}
무효 합계()
{
cout<<" 합은 다음과 같습니다." << num1+num2 << endl;
}
};
정수 메인()
{
cout<<" C++의 데이터 추상화 "<<endl;
추상화
a.입력(11, 18);
합();
반환 0;
}
산출
C++의 데이터 추상화
합계:29
C++에서 추상화의 이점
C++의 추상화 가 유익한 프로그래밍 개념 이라는 사실을 부인할 수 없습니다 . 제공하는 이점 중 일부를 명시적으로 논의해 보겠습니다.
중복 을 방지하여 코드 재사용성과 클래스 파티셔닝을 향상시킵니다 .
코드를 이해하기 쉽게 만드는 복잡한 작업을 제거하여 코드 가독성을 높입니다.
클래스의 내부는 우발적인 사용자 수준 오류로부터 보호됩니다.
C++의 추상화는 고급 코드를 작성하는 방법입니다.
코드 중복을 방지하고 프로그래머가 유사한 작업을 위해 매번 일반적인 작업을 검토할 필요가 없습니다.
사용자에게 영향을 주지 않고 내부 클래스 구현을 독립적으로 변경할 수 있습니다.
세계 최고의 대학에서 온라인으로 소프트웨어 개발 과정을 배우십시오 . 이그 제 큐 티브 PG 프로그램, 고급 인증 프로그램 또는 석사 프로그램을 획득하여 경력을 빠르게 추적하십시오.
결론
C++ 의 데이터 추상화 는 승인되지 않은 방법으로부터 데이터 보안을 제공하는 방법입니다 . 이 기사에서 우리는 더 명확성을 위해 구현 및 실제 예제와 함께 널리 사용되는 가장 중요한 C++ 개념 중 하나를 설명하려고 했습니다. 지식이 거의 또는 전혀 없는 초보자가 약간의 연습으로 개념을 익히는 것은 어렵지 않을 것입니다.
컴퓨터 공학 과정에서 pGrad의 과학 석사 과정을 고려하고 있다면 학습 과정이 더 원활할 것입니다.
이러한 C++ 프로젝트를 실행하는 데 훌륭한 학습 기회가 있기를 바랍니다. 더 자세히 알아보고 업계 전문가의 멘토링이 필요한 경우 upGrad & IIIT Banglore의 전체 스택 소프트웨어 개발 Executive PG를 확인하십시오.
C++에서 추상화란 무엇입니까?
추상화는 특정 목적과 관련된 세부 사항을 숨기는 프로세스입니다. 이것이 객체 지향 프로그래밍의 핵심 아이디어입니다. 프로그래머는 실제 해결되는 문제보다 더 일반적인 코드를 작성할 수 있습니다. 이것은 코드의 크기를 줄이고 코드를 단순화하는 데 도움이 됩니다. 또한 추상화를 사용하면 새로운 요구 사항에 맞게 코드를 변경하지 않고도 나중에 코드를 수정할 수 있습니다.
객체 지향 프로그래밍의 중요한 기둥은 무엇입니까?
추상화: 추상화는 복잡한 작업의 세부 사항과 이 작업을 수행하는 코드 간에 다양한 분리 계층을 사용하는 프로세스로 생각할 수 있습니다. 다형성: 이것은 기본적으로 동일한 작업이 다른 컨텍스트에서 다르게 표현될 수 있음을 의미합니다. 상속: 상속은 코드 재사용에 관한 것입니다. 인터페이스: 인터페이스는 클래스에 대한 높은 수준의 설명입니다. 기본적으로 클래스가 가져야 하는 메서드를 지정하는 계약입니다. 구성: 구성은 더 복잡한 기능을 달성하기 위해 개체를 결합하는 것입니다.
C++에서 추상화를 달성하는 방법은 무엇입니까?
추상화는 개념의 구현입니다. 여러 클래스와 함수를 사용하여 아이디어를 구현하는 코드에서 아이디어를 분리할 때 수행하는 작업입니다. C++에서 추상화는 클래스, 템플릿 또는 함수입니다. C++에서 추상화는 여러 가지 방법으로 달성됩니다. 예를 들어 C++는 데이터 추상화를 달성하는 여러 가지 방법, 구현 세부 정보를 숨기고 클라이언트 코드가 높은 수준의 인터페이스로 작동하도록 하는 수단을 제공합니다.