Data abstraction, inheritance, and composition are Java concepts. Choose one and explain it in your own words. Discuss why you think the concept is useful for a programmer. Develop your own unique example to demonstrate how you would use the concept. Include code that clearly illustrates the selected concept.