# data[].attributes.body
In Swift, structs come with a built-in initializer that lets you set values for each property when creating an instance. This isn’t needed at the point of declaration. Classes, on the other hand, don’t get this by default because they’re reference types and usually need more customized initialization.

# data[].attributes.body
In Swift, structs don't require member initialization during their declaration because they automatically receive a memberwise initializer. This initializer is generated by the compiler and allows you to create instances of the struct by providing values for its properties. Classes, on the other hand, do not get this automatic initializer and require explicit initialization logic.

# data[].attributes.body
Struct in swift by default have memberwise intializer, allowing you to intialize properties while creating instances, whereas classes have default intializer

# data[].attributes.body
1. Automatic memberwise initializers

2. Value type vs reference types

3. Immutability of properties

How it's differ from other class

1. Class allow default initialization

2. Classes support inheritance

3. Classes are reference types

# data[].attributes.body
Because Swift automatically synthesizes a memberwise initializer for structs Because classes can inherit, the compiler cannot safely synthesize a memberwise initializer. Classes are more flexible with inheritance and reference semantics, so you need to define initializers yourself.

# data[].attributes.body
structs automatically receive a memberwise initializer. This means Swift generates an initializer that accepts each stored property as a parameter

# data[].attributes.body
Structs have default initializers while classes gets the initializers manually

# data[].attributes.body
Struct get a free memberwise initializer, so you dont need to initialize properties at declaration.

Classes dont get a free initializer you must define one if properties dont have default values.

This is because struct are value types , while classes are reference types .

# data[].attributes.body
Swift automatically synthesizes a memberwise initializer for structs while classes being more complex with inheritance and reference semantics ,need more control over initialization

# data[].attributes.body
Structs in Swift automatically get a memberwise initializer, so you don’t need to manually initialize properties during declaration—unlike classes, which don’t get this initializer by default.

# data[].attributes.body
Structs get a free membership initializer whereas Class don't have it because of structure are value types while class are reference types(initialization is more complex)

# data[].attributes.body
This is because structs are value types (simple, no inheritence )

# data[].attributes.body
In Swift, structs are value types, while classes are reference types. Structs require all properties to be initialized, but Swift provides a memberwise initializer by default, so explicit initialization at declaration isn't necessary.

# data[].attributes.body
Structs already have memberwise initializers but tha classes don’t due to inheritance. Structs are value types, making initialization simpler than reference-type classes.

# data[].attributes.body
structs are value types, and the memberwise initializer simplifies initialization by setting all properties to default values, making it suitable for simple data structures.

# data[].attributes.body
structs automatically get a member wise initializer that initializes all their properties, unlike classes. This is because structs are value types, meaning they are copied when assigned or passed, making it simpler to create instances with initialized properties. Classes, being reference types, can have more complex initialization logic and inheritance, which makes a default member wise initializer less suitable.

# data[].attributes.body
Structs have default initializers where's class do not have

# data[].attributes.body
Because structure has default initialiser.

(I) Parameter initialiser.