추천, 2024

에디터의 선택

추상화와 데이터 숨김의 차이점

추상화 및 데이터 숨기기는 객체 지향 프로그래밍의 중요한 개념입니다. 추상화는 배경 정보를 포함하지 않고 중요한 속성을 표현하는 방법입니다. 반면에, 데이터 은닉은 프로그램에 의한 직선 접근으로부터 데이터를 보호합니다. 비록 두 개념 모두 비슷한 의미로 들리지만 그 차이는 다릅니다. 추상화는 동일한 속성을 가진 실제 객체를 디자인하기위한 사용자 정의 데이터 유형을 만드는 방법을 제공합니다. 데이터 은닉과 대조적으로 무단 액세스로부터 데이터와 기능을 보호합니다.

비교 차트

비교 근거추출데이터 숨기기
기본
관련 정보 만 추출하고 불필요한 세부 정보는 무시합니다.프로그램의 일부분에서 데이터를 숨 깁니다.
목적복잡성을 숨기기.캡슐화를 달성하십시오.
수업
클래스는 추상화를 사용하여 새로운 사용자 정의 데이터 유형을 파생시킵니다.데이터 숨김은 데이터를 비공개로 만들기 위해 클래스에서 사용됩니다.
초점을 맞춘
데이터의 관찰 가능한 행동.캡슐 내에서 데이터 사용을 제한하거나 허용합니다.

추상화의 정의

추상화 는 주로 복잡성을 숨기기 위해 사용됩니다. 다른 모든 유형의 객체와 구별되는 객체의 필수 특성을 나타냅니다. 추상화는 객체의 외부 측면에 집중합니다. 객체의 경우 추상화는 구현에서 중요한 동작을 분리합니다. 보는 사람의 전망과 관련된 개념적 경계를 지정합니다. 적절한 추상화는 독자 또는 사용자에게 중요한 세부 사항을 강조하고 관련이 없거나 이상한 기능을 억제합니다.

사용자 정의 데이터 유형은 동일한 속성을 갖는 실세계 객체를 디자인하기 위해 클래스 내에서 추상 속성 및 기능을 정의하여 작성됩니다. 이러한 속성에는 정보가 들어 있기 때문에 데이터 멤버라고합니다. 마찬가지로 이러한 데이터에서 작동하는 함수를 멤버 함수라고합니다. 데이터 추상화는 배경 설명을 포함하지 않고 필수 속성을 나타내는 클래스로 구현됩니다.

추상화 유형 :

  • 절차 적 추상화 - 여기에는 지정된 기능을 갖는 일련의 명령어가 포함됩니다.
  • 데이터 추상화 - 데이터 객체를 지정하고 설명하는 데이터 집합입니다.
  • 제어 추상화 - 내부 세부 사항이 지정되지 않은 프로그램 제어 메커니즘입니다.

데이터 은닉의 정의

데이터 숨김 은 검색 할 필요가없는 프로그램 구성 요소에서 데이터를 숨기는 것을 의미합니다. 프로그램에 의한 직접 액세스로부터의 데이터 격리는 데이터 은닉 또는 정보 은닉이라고합니다. 데이터 은닉을 구현하기 위해 클래스의 데이터 및 기능이 무단 액세스로부터 보호되는 경우 캡슐화가 사용됩니다. 대조적으로, 데이터 및 기능이 단일 유닛으로 캡슐화 될 때를 캡슐화 (encapsulation)라고합니다. 따라서 데이터 숨기기는 캡슐화를 달성하는 데 도움이됩니다. 객체의 기능적 세부 사항은 액세스 지정자를 통해 처리 할 수 ​​있습니다.

데이터 숨기기 개념을 사용하면 클래스의 데이터와 함수가 비공개로 만들어 클래스 외부의 함수에서 잘못 액세스하거나 우발적 인 변경으로부터 보호 할 수 없습니다.

추상화와 데이터 숨김의 주요 차이점

  1. 추상화는 관련 정보를 보여주고 불필요한 세부 사항을 거부합니다. 반면에 데이터 숨기기는 프로그램의 일부에서 데이터를 숨기는 데 사용됩니다.
  2. 추상화의 이전 목적은 프로그램이나 소프트웨어의 복잡한 구현 세부 사항을 숨기는 것입니다. 반대로 캡슐화를 달성하기 위해 데이터 은닉이 구현됩니다.
  3. 추상화는 클래스에서 새로운 사용자 정의 데이터 유형을 작성하는 데 사용됩니다. 반대로 클래스에서 데이터 숨김은 데이터를 비공개로 만드는 데 사용됩니다.
  4. 추상화는 데이터의 관찰 가능한 동작에 집중하는 반면 데이터 은닉은 캡슐 내의 데이터 사용을 제한하거나 허용합니다.

결론

추상화와 데이터 숨기기 모두 필수 정보를 표시하고 불필요한 세부 정보는 숨기고 뚜렷한 목적을 위해 사용되었습니다. 추상화는 구현 복잡성을 숨기는 데 중점을 둡니다. 반면 데이터 숨기기에서는 승인되지 않은 액세스에 대한 데이터 보호가 중요합니다.

Top