Property Vs Attribute Vs Field

  • hasContext
    • Programming
      • field: data member of a class, usually private; A class or struct may have instance fields or static fields or both
      • attribute: public field, maybe accessed directly
      • property: might be backed by a field
        • interfaces can have properties but not fields
    • Metaphysics
      • property: something inherent about a thing, especially how it behaves under particular conditions, e.g. hardness
      • attribute: additional info about a thing, e.g. applicability for furniture making

Thoughts

  • strength: 18
    • may look like an attribute, but is has a very specific context. you could specify that in a schema, but given how special strength is, each possible value is its own thing, not just a primitive, but a hook to hang your hat on.
    • although, Strength scores cap out at 30 (20 for PCs relying on ability score increases).

Resources