OOP Fundamentals
OOP is a programming paradigm based on objects — data structures containing data (attributes) and code (methods). The four pillars:
OOP is a programming paradigm based on objects — data structures containing data (attributes) and code (methods). The four pillars:
✅ Good fits: - Clear "is-a" relationship (Dog is an Animal) - Shared behaviour + specialised extensions - Framework extension points
"One interface, many implementations."
"Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem." — Christopher Alexander
"SOLID is not a framework. It's a way of thinking about software design." — Robert C. Martin
This page lives in the OOP track for a good historical reason, even though the idea outgrows any one paradigm. Alan Kay, who coined "object-oriented", later insisted the name pointed at the wrong thing: "The big idea is…
Languages are ephemeral; paradigms are foundational. Learn only syntax and every new language is a fresh start; learn how memory, execution flow and state change are managed across paradigms and you can pick up a new…
Students arriving from an imperative module often treat objects as magic containers that simply work. This page removes the magic in three layers: what the machine actually does with your objects (the JVM), how to make…
Students meet ArrayList , HashMap and TreeSet as a menu of options and pick whichever appeared in the last example they read. That framing misses what a collections library actually is: a set of behavioural contracts…
Students are taught that int and double are the defaults — and rarely see how those abstractions leak until a critical bug arrives. This case study builds a numerical tower : a hierarchy of number types, inspired by…