Home » Minibooks » Abstraction in Java

Abstraction in Java

About the author

Hugh is a Senior Software Engineer and Certified Scrum Master based in Galway, Ireland. He achieved his B.Sc. in Applied Computing from Waterford Institute of Technology in 2002 and has been working in industry since then.

He has worked for several large blue chip software companies listed on both the NASDAQ and NYSE.

In software engineering and programming language theory, the abstraction principle (or the principle of abstraction) is a basic dictum that aims to reduce duplication of information in a program (usually with emphasis on code duplication) whenever practical by making use of abstractions provided by the programming language or software libraries. The principle is sometimes stated as a recommendation to the programmer, but sometimes stated as requirement of the programming language, assuming it is self-understood why abstractions are desirable to use. The origins of the principle are uncertain; it has been reinvented a number of times, sometimes under a different name, with slight variations.

When read as recommendation to the programmer, the abstraction principle can be generalized as the “don’t repeat yourself” principle, which recommends avoiding the duplication of information in general, and also avoiding the duplication of human effort involved in the software development process.


Abstraction in Java includes:

  1. Introduction
  2. Interfaces
  3. Abstract Classes
  4. A Worked Example – Payments System
  5. Conclusion
JCG eBooks are professionally designed, downloadable collections of popular JCG content – articles, interviews, presentations, and research – covering the latest software development technologies, trends, and topics.