This repo is a comparison of key Object-Oriented Programming concepts in Java and Go. Go isn’t a traditional OOP language, but it adapts the best parts without the baggage.
- Object
- Abstraction
- Encapsulation
- Inheritance (vs Composition)
- Polymorphism
- Constructor
- Access Modifiers
- Static
- Overriding vs Overloading
- Composition vs Inheritance
Each folder contains:
- ✅ Java example
- 🐹 Go example (if applicable)
- 📖 README explaining differences
This project started as a deep-dive learning journey into OOP after I first learned the concept. I wanted to truly understand OOP, not just memorize it. So I explored how Go takes a different route while still keeping the power of OOP through composition and interfaces.
“Inheritance is evil.” - Rob Pike (Go Creator)