추상화와 캡슐화의 차이점 차이점

Anonim

이지만 실제 개체를 프로그램 및 코드로 구현할 수 있습니다. 둘 다 손을 잡고있는 동안, 그들은 서로 매우 다릅니다. 모든 메소드는 캡슐화이지만 추상화이기도합니다. 간단히 말하면, 엔티티를 만들기 위해 서로 다른 것들을 조합 할 때, 실제로 개념 즉 추상을 생성합니다. 둘 다 기술적으로 분리 할 수 ​​없지만 문자 그대로 공통점이 없습니다. 그것은 거의 모든 캡슐화가 둘 다 어떤 것을 숨기기 때문에 추상적 인 것인데, 그러나 그것들은 공정한 차이를 가지고 있습니다.

추상화 란 무엇입니까? 추상화는 객체의 관련 데이터에만 초점을 맞추고 일반 또는 특수 동작에 관련되거나 그렇지 않을 수있는 모든 관련없는 세부 사항을 숨기는 기본 OOP 개념입니다. 배경 정보를 숨기고 복잡성을 줄이고 효율성을 높이기 위해 필수 사항을 강조합니다. 기본적으로 추상화는 복잡성을 관리하는 프로그래밍 도구입니다. 추상화는 사건보다는 아이디어에 초점을 둡니다. 사용자에게 기능을 제공하여 디자인 수준에 대한 세부 정보를 숨 깁니다. 결과 객체는 추상화라고도합니다. 프로그래머는 명명 된 엔티티에 포함 된 모든 필수 요소가 포함되며 관련없는 요소는 포함하지 않도록합니다.

실세계 추상화의 예를 들어 봅시다. 차량의 경우를 생각해 봅시다.이 경우 차량입니다. 자동차 정비사가 차를 수리하려고하거나 자동차의 특정 부분을 말합니다. 여기에서 사용자는 사용자이고 자동차의 특성이나 실제로 파손 된 부분에 들기를 원하지 않습니다. 당신은 실제로 그런 것들에 관심이 없습니다. 당신은 세부 사항에 대해 걱정하지 않고 원래 상태로 차량을 되돌리기를 원할뿐입니다. 따라서 실제로 구현 파트를 분리하여 정비공에게 원하는 것을 말한 것입니다. 이것은 추상화입니다. 당신은 가장 중요한 것에 중점을 두었습니다. 구체적인 것에 초점을 맞추기보다는 차를 고정시키는 것입니다.

캡슐화 란 무엇입니까? 캡슐화는 일부 구성 요소에 대한 액세스를 제한하면서 데이터 및 기능을 단일 구성 요소에 바인딩하는 또 다른 OOP 개념이다. 하나의 단위 아래에 데이터와 정보를 포함하는 OOP의 주요 기본 개념 중 하나입니다. 전문 용어로, 캡슐화는 외부 액세스로부터 변수를 차폐하는 속성을 숨기는 것을 의미하므로 응용 프로그램의 한 부분에서 변경이 다른 부분에 영향을 미치지 않습니다. 반대로 정보를 더 공개하게 만들면 데이터 오용의 위험이 있습니다. 데이터를 외부 세계로부터 보호함으로써 데이터의 기본적인 무결성을 제공합니다. 간단히 말하면, 그것은 외부 세계로부터 여분의 세부 사항을 숨 깁니다.

블루투스 마우스를 예로 들어 보겠습니다.마우스의 센서 종류, 무선 여부 등과 같은 구현 세부 사항을 염려하지 않고 장치의 동작에 대해서만 알면됩니다. 모든 단일 세부 사항은 마우스를 설명하지만 세부 사항과 상관없이 단순한 마우스입니다. 마우스를 사용하기위한 인터페이스가 필요합니다.이 경우 마우스 포인터입니다. 캡슐화입니다.

추상화와 캡슐화의 차이점

OOP와 관련된 기본 개념은 모두 기술적으로 분리 할 수 ​​없지만 여전히 많은 측면에서 차이가 있습니다.

추상화와 캡슐화의 "정의"의 차이 - 추상화는 효율성을 높이고 복잡성을 제거하기 위해 관련없는 세부 사항을 숨김으로써 객체의 모든 필수적인 측면을 강조하는 기본 OOP 개념입니다. 반면에 캡슐화는 캡슐에 데이터와 정보를 래핑하여 외부 세계로부터의 액세스를 제한하는 데이터 은폐 메커니즘입니다.

추상화와 캡슐화의 "기능성"

  1. 의 차이점 - 추상화는 복잡한 프로그램을 단순화하는 필수 기능 만 강조하는 반면, 캡슐화는 바인딩 방식 인 데이터 숨김 메커니즘입니다 데이터 및 코드를 하나의 엔티티로 통합합니다. 아이디어는 구현 세부 사항을 외부 액세스로부터 보호하는 것입니다. 추상화와 캡슐화의 "구현"의 차이점 - 추상화는 추상 클래스와 인터페이스를 사용하여 구현되며, 캡슐화는 접근 수정자를 사용하여 구현됩니다. private, Public, Internal, Protected 및 Protected Internal의 5 가지 유형의 수정자를 사용하여 데이터를 캡슐화합니다.
  2. 추상화와 캡슐화의 개념 " 의 차이점 - 추상화의 배경은 개념보다는 무엇에 집중하는 것이다. 캡슐화는 내부 메커니즘을 숨 깁니다. 예를 들어 자동차를 운전할 때 브레이크 페달의 기능을 정확히 알 수 있지만 데이터가 캡슐화되어 있기 때문에 전체 메커니즘을 알지 못할 수도 있습니다.
  3. 추상화와 캡슐화의 "예"차이점 - 스마트 폰의 예를 들어 봅시다. 당신은 그것이 무엇을하는지 알지만 당신은 그것이하는 일을 어떻게하는지 알지 못할 수도 있습니다. 내부 회로에 대해 걱정하지 않고 디스플레이 화면과 키패드 버튼 만 신경 씁니다. 여기서 스마트 폰은 내부 구현 세부 정보가 캡슐화 된 추상입니다.
  4. 비교 테이블을 이용한 추상화 대 캡슐화 추상화 캡슐화
  5. 복잡성을 줄이고 효율성을 높이기 위해 관련없는 것을 숨김으로써 관련 세부 사항만을 다룬다. 외부 소스로부터 데이터를 보호하기 위해 데이터와 정보를 단일 엔티티로 묶습니다.

표현 목적으로 필요하지 않은 데이터를 숨기는 아이디어를 나타냅니다.

원치 않는 액세스를 제한하기 위해 데이터 및 코드를 숨 깁니다. 그것은 방법보다는 무엇에 초점을 맞추고 있습니다.
무언가를하는 방법에 대한 내부 역학을 숨 깁니다. 디자인 수준에서 불필요한 세부 사항을 숨 깁니다.
또한 세부 사항을 숨기지 만 구현 수준에서는 숨 깁니다. 정보 및 데이터는 관련 데이터와 분리되어있다.
정보는 캡슐 안에 숨겨져있어 접근이 용이합니다. 그것은 사건보다는 아이디어를 다룬다.
아이디어는 외부 세계로부터 데이터를 보호하는 것입니다. 추상 클래스와 인터페이스를 사용하여 구현됩니다.
protected, private 및 package-private 액세스 한정자를 사용하여 구현됩니다. 요약 두 가지 모두 데이터 숨김과 관련된 OOP 개념이지만 서로 상당히 다릅니다. 추상화는 또한 캡슐화와 같은 숨기기와 관련이 있지만, 전자가 복잡성을 숨기는 반면 후자는 캡슐화에 대한 액세스를 제어하여 캡슐화하는 데이터를 유지합니다. 추상화 란 응용 프로그램의 복잡성을 줄여 효율성을 높이기 위해 관련없는 세부 정보를 숨김으로써 필요한 기능 만 나타내는 개념을 나타냅니다. 반면에 캡슐화는 원치 않는 액세스로부터 정보를 보호하기 위해 프로그램의 모든 내부 메커니즘을 숨기는 개념을 나타냅니다. 다른 구성 요소에 대한 액세스를 제한하여 데이터 및 정보를 단일 구성 요소로 묶습니다.