This chapter provides a brief introduction to some of the core concepts in the book, including Java, object-oriented programming, and test-driven development. You will get answers to the following questions:
What is "agile"?
What is Java?
What is object-oriented programming?
Why OO?
What is an object?
What are classes?
Why UML?
What is inheritance?
Why test-driven development?