Study
Swift

Struct & Class di Swift

Penjelasan

Swift punya DUA cara membuat tipe data kustom: struct dan class — beda paling mendasar, struct adalah VALUE TYPE (disalin setiap kali di-assign ke variabel lain atau dikirim ke fungsi) sedangkan class adalah REFERENCE TYPE (semua variabel menunjuk ke object yang SAMA di memori, seperti object di Java/PHP). Swift merekomendasikan struct sebagai default kecuali kamu memang butuh reference semantics atau inheritance (yang cuma didukung class).

Contoh Konsep

struct TitikStruct {
    var x: Int
}

class TitikClass {
    var x: Int
    init(x: Int) { self.x = x }
}

var s1 = TitikStruct(x: 1)
var s2 = s1 // DISALIN, s1 dan s2 independen
s2.x = 99
print(s1.x) // 1, tidak ikut berubah

let c1 = TitikClass(x: 1)
let c2 = c1 // c2 menunjuk OBJECT YANG SAMA dengan c1
c2.x = 99
print(c1.x) // 99, ikut berubah!

Praktikum

Buat struct Buku dengan property judul dan penulis (String), diisi lewat memberwise initializer bawaan Swift (tanpa perlu tulis init manual). Buat satu instance-nya dan tampilkan kedua property-nya dengan print.

Editor Latihan

Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.

Tips

Struct otomatis dapat "memberwise initializer" gratis (mis. Buku(judul: ..., penulis: ...)) tanpa perlu menulis init() manual — fitur ini TIDAK berlaku untuk class, yang selalu butuh init() ditulis eksplisit.