Skip to main content

Difference between Abstraction and Encapsulation

Brief

It’s almost true that every encapsulation is an abstraction because they both hide something, however, they have their fair share of differences.

Difference between Abstraction and Encapsulation

While both are fundamental concepts related to OOP and they are technically inseparable, they still have their differences in many aspects.

Differences  in “ Definition” of Abstraction and Encapsulation 

– Abstraction is a fundamental OOP concept which emphasizes on all the essential aspects of an object by hiding the irrelevant details to increase efficiency and eliminate complexity. Encapsulation, on the other hand, is a data hiding mechanism which wraps the data and information in a capsule to restrict access from outside world.

Differences  in “Functionality” of Abstraction and Encapsulation

– Abstraction is a data hiding mechanism which highlights only the essential features to make complex programs simpler, while encapsulation, on the other hand, is a method of binding data and codes into a single entity. The idea is to shield the implementation details from external access.
Differences  in “Implementation” of Abstraction and Encapsulation – Abstraction is implemented using abstract class and interface, while encapsulation is implemented using access modifiers. Five types of modifiers are used to encapsulate data: Private, Public, Internal, Protected, and Protected Internal.

Differences  in “Concept” of Abstraction and Encapsulation

– The idea behind abstraction is to focus on what rather than how. Encapsulation hides the internal mechanics of how. For example, when you drive a car, you know exactly what the brake pedal does but you may not know the whole mechanism behind it because the data is encapsulated.
Differences  in “Example” of Abstraction and Encapsulation – Let’s take an example of a smartphone. You know what it does but you may not know how it does what it does. You only care about the display screen and keypad buttons rather than worrying about its inner circuitry. Here, smartphone is an abstract where the inner implementation details are encapsulated.

Abstraction vs. Encapsulation with the comparison table


Abstraction
Encapsulation
- It deals with only the relevant details by hiding the irrelevant ones to reduce complexity thereby increasing efficiency. - It binds the data and information together into a single entity to protect the data from external sources.
- It refers to the idea of hiding data which is not required for presentation purposes. - It hides the data and code in order to restrict unwanted access.
- It focuses on what rather than how. - It hides the internal mechanics of how it does something.
- It hides the unnecessary details on the design level. - It also hides the details but on the implementation level.
- Information and data is separated from the relevant data. - Information is hidden inside a capsule for close access.
- It deals with ideas rather than events. - The idea is to protect the data from outside world.
- It’s implemented using abstract class and interface. - It’s implemented using protected, private, and package-private access modifiers.

References
 (Thank You All For Your Efforts)
differencebetween.net/technology/difference-between-abstraction-and-encapsulation/

Comments

Popular posts from this blog

All the require docs of job seekers (java docs, testing docs, study materials, genuine consultancy link)

# JUST_FOR  JAVA LOVERS : CORE & ADVANCED JAVA Notes ! Core Java and Advanced Java Notes! . Link 1 :-  https://www.dropbox.com/s/t…/1--%20Core%20Java%28TOC%29.pdf… Link 2 :-  https://www.dropbox.com/s/0ahi8r…/9--%20Advanced%20Java.pdf… _________________________________ 1.  https://drive.google.com/…/0BxJrew1xg5ZLZjdabnVUUkswalk/view 2. https://drive.google.com/…/0BxJrew1xg5ZLVHVSQ0tiU1VmVXM/view 3. https://drive.google.com/…/0BxJrew1xg5ZLdS1JUTAxMWtTcEU/view 4. https://drive.google.com/…/0BxJrew1xg5ZLY1M5bGp2Ym5lZUk/view 5. https://drive.google.com/…/0BxJrew1xg5ZLck13Rndpd1ZlcEU/view 6.  https://drive.google.com/…/0BxJrew1xg5ZLb2xodlhOTEVzLTA/view --------------------- Spring --------------------- https://drive.google.com/…/0BxJrew1xg5ZLQ3VaQnlja3N1Mkk/view https://drive.google.com/…/0BxJrew1xg5ZLTXNVLUdOR0xmTzQ/view https://drive.google.com/…/0BxJrew1xg5ZLWU9PUmVKUUYtMjQ/view ---------------------- Hibernate ---------------------...

Use your mobile phone as web cam to your pc/laptop

 Brief  This thing started when I had an interview😮 with one of the company in Nepal and my laptop camera quality was so bad that I was asked to turn off 😥 it which made me to think to buy a webcam for my laptop and I realized if the webcam be attached to my laptop using USB cable or WIFI then why we cannot use my phone. This is how it started. I have tested it and using this app called iVCam since then it worked very well as well with teams, zoom and other streaming app as well. We need to download these 2 stuffs only: The mobile app. The PC client software. Install these two software on your individual mobile and pc and then you are good to go.Mobile phone will ask for the permissions, and allow all the permission it ask for. There are two by which we can connect your mobile phone as web cam and they are:  A) WIFI: Connect your laptop and mobile to the same wifi network. Open app in both mobile and laptop/pc. It will automatically connect to the mobile camera....

Steps using Github with Git Bash and Git Tortoise

Brief We will learn below things: Download tortoise git from the URL ( https://tortoisegit.org/ ) Download git from the URL ( https://git-scm.com/downloads ) Integrate local git with the remote GitHub . Initialize git in the local folder using git tortoise . Push and Pull the code from the master branch. Create different branches and check out between those branches from the local. Setup After downloading the git and git tortoise, install those files and you will be shown the below window when you right click inside any Folder in the windows. Initialize Git from the Git Tortoise Click on the "Git Create Repository Here" as shown in the first context menu and Press "Ok". You will see '.git' folder added as below. Right click inside the project Folder and hover on "TortoiseGit". The snapshot will be shown. Setting Up the Remote Repository into the local Click on the "Settings" as shown in the ...