// == Ideas/Terms == // * OOD/OOP: Object-Oriented Design/Programming // * Encapsulate behavior of each "noun" // > protects state changes (more next week!) // > features/changes localized // * Abstraction via masking implementation // (🔑 + 🚗 -> 🏖️) // * Class: A data type (e.g., String, IntRange, FullName) // Every data type in Kotlin is a class, // though some other OO languages (e.g., Java) // distinguish "primitive" types // * Object: An instance of a type, e.g... // "howdy", 1..5, FullName("harry", "potter") // * Member: Data or function within a class // via object.memberData / object.memberFunc() // * Each object gets its own data, // but "shares" the functions // * Synonyms... // > member data: field, property, attribute // > member functions: methods