Class dan Static Member pada Bahasa Pemrograman C#
Pengenalan
Dalam C#, class adalah fondasi utama dari pemrograman berorientasi objek (OOP). Class memungkinkan kita untuk mendefinisikan atribut (field), method, dan properti yang dapat digunakan dalam berbagai object.
Selain itu, C# juga memiliki konsep static member, yang memungkinkan variabel atau method dapat diakses tanpa harus membuat instance dari class. Static member sangat berguna dalam kasus di mana data atau fungsi harus dibagikan di seluruh program tanpa harus diinisialisasi berulang kali.
Artikel ini akan membahas apa itu class dan static member dalam C#, bagaimana cara menggunakannya, serta contoh implementasinya dalam berbagai skenario pemrograman.
1. Apa Itu Class dalam C#?
Class adalah blueprint atau template yang digunakan untuk membuat object. Di dalam class, kita bisa mendefinisikan:
- Field (variabel anggota)
- Method (fungsi anggota)
- Property (pengendali akses data)
- Constructor dan Destructor
Contoh Deklarasi Class dalam C#
class Mobil {
public string Merek;
public string Model;
public int Tahun;
}
Cara Menggunakan Class
class Program {
static void Main() {
Mobil mobil1 = new Mobil();
mobil1.Merek = "Toyota";
mobil1.Model = "Avanza";
mobil1.Tahun = 2022;
Console.WriteLine("Mobil: " + mobil1.Merek + " " + mobil1.Model + ", Tahun: " + mobil1.Tahun);
}
}
Output:
Mobil: Toyota Avanza, Tahun: 2022
Penjelasan:
- Class
Mobil
digunakan untuk mendefinisikan atribut mobil. - Object
mobil1
dibuat dari classMobil
menggunakan keywordnew
. - Nilai atribut diatur dan ditampilkan di layar.
2. Apa Itu Static Member dalam C#?
Static member adalah anggota dari class yang dapat diakses tanpa membuat instance dari class tersebut. Static member dimiliki oleh class itu sendiri, bukan oleh instance-nya.
Static member bisa berupa:
- Static field → Variabel yang nilainya dibagikan di seluruh instance class.
- Static method → Fungsi yang bisa dipanggil tanpa membuat object.
- Static property → Properti yang berfungsi seperti field, tetapi dengan kontrol akses tambahan.
3. Static Field dalam C#
Static field bersifat global dalam ruang lingkup class tersebut, dan nilai yang sama dibagikan oleh semua instance.
class Produk {
public static int JumlahProduk = 0; // Static field
public string Nama;
public Produk(string nama) {
Nama = nama;
JumlahProduk++; // Setiap produk baru akan meningkatkan nilai ini
}
}
Cara Menggunakan Static Field
class Program {
static void Main() {
Produk p1 = new Produk("Laptop");
Produk p2 = new Produk("Smartphone");
Console.WriteLine("Jumlah produk: " + Produk.JumlahProduk);
}
}
Output:
Jumlah produk: 2
Penjelasan:
JumlahProduk
adalah static field yang dimiliki oleh classProduk
, bukan oleh setiap object.- Setiap kali object
Produk
dibuat,JumlahProduk
bertambah. - Nilai
JumlahProduk
tetap ada meskipun tidak ada object.
4. Static Method dalam C#
Static method adalah method yang tidak membutuhkan object untuk dipanggil. Method ini langsung dipanggil melalui nama class.
class Matematika {
public static int Tambah(int a, int b) {
return a + b;
}
}
Cara Menggunakan Static Method
class Program {
static void Main() {
int hasil = Matematika.Tambah(5, 3);
Console.WriteLine("Hasil penjumlahan: " + hasil);
}
}
Output:
Hasil penjumlahan: 8
Penjelasan:
- Method
Tambah()
adalah static, sehingga dapat dipanggil langsung melalui classMatematika
tanpa membuat object. - Static method sering digunakan dalam helper class seperti perhitungan matematika, validasi, atau manipulasi string.
5. Static Property dalam C#
Static property memungkinkan kita memiliki pengaturan dan pengambilan nilai tanpa membuat object.
class Konfigurasi {
private static string _versi = "1.0";
public static string Versi {
get { return _versi; }
}
}
Cara Menggunakan Static Property
class Program {
static void Main() {
Console.WriteLine("Versi Aplikasi: " + Konfigurasi.Versi);
}
}
Output:
Versi Aplikasi: 1.0
Penjelasan:
- Static property
Versi
hanya bisa dibaca karena tidak memiliki setter. - Tidak perlu membuat object
Konfigurasi
untuk mengakses nilaiVersi
.
6. Kapan Menggunakan Static Member?
✅ Gunakan static member jika:
- Data atau method tidak bergantung pada instance object.
- Data harus dibagikan di seluruh instance class.
- Method hanya berfungsi sebagai utilitas atau helper.
❌ Jangan gunakan static member jika:
- Setiap instance class memiliki data yang berbeda.
- Perlu menyimpan state yang berbeda untuk setiap object.
7. Kesimpulan
- Class dalam C# adalah template untuk membuat object.
- Static member memungkinkan akses ke method atau variabel tanpa membuat object.
- Static field digunakan untuk menyimpan data yang dibagikan di seluruh instance.
- Static method berguna untuk fungsi yang tidak memerlukan object.
- Static property bisa digunakan untuk mengontrol akses data dalam class tanpa instance.
Dengan memahami class dan static member dalam C#, Anda bisa mengembangkan program yang lebih efisien dan terstruktur!