Attributes are instances of the class which can be serialized into a byte stream that resides in metadata. Later at run-time the class can be deserialized and constructed by calling constructor. After that the compiler initializes public properties and fields.