Apa itu Constructor?
Constructor adalah sebuah method khusus di dalam sebuah kelas yang otomatis dijalankan saat objek dibuat.
Fungsi utamanya adalah menginisialisasi data / nilai awal pada objek.
Ciri-ciri constructor di C#:
- Nama constructor sama dengan nama kelas
- Tidak punya return type (bukan void, bukan juga tipe apapun)
- Dipanggil otomatis ketika objek dibuat dengan new
Kenapa Constructor Penting?
Bayangkan kamu membuat objek Mobil.
Saat mobil dibuat, kita ingin misalnya warna, tahun, atau merk langsung terpasang — itu tugas constructor.
Jenis-Jenis Constructor
1) Default Constructor
Constructor yang tidak punya parameter.
Jika kamu tidak buat constructor, kompiler C# akan otomatis membuatkan default constructor.
Contoh:
using System;
class Car
{
public string color;
public int year;
// Default constructor
public Car()
{
color = "White"; // memberi nilai awal
year = 2000;
Console.WriteLine("Car dibuat!");
}
public static void Main()
{
Car myCar = new Car();
Console.WriteLine(myCar.color + " - " + myCar.year);
}
}
Output:
Car dibuat!
White – 2000
2) Parameterized Constructor
Constructor yang menerima parameter untuk memberi nilai spesifik pada objek.
Contoh:
using System;
class Person
{
public string name;
public int age;
// Constructor dengan parameter
public Person(string name, int age)
{
this.name = name;
this.age = age;
}
public static void Main()
{
Person p = new Person("Ani", 21);
Console.WriteLine(p.name + " berumur " + p.age);
}
}
Output:
Ani berumur 21
3) Copy Constructor
Digunakan menggandakan objek dengan nilai yang sama dari objek lain.
C# tidak punya copy constructor otomatis — kita buat sendiri.
Contoh:
using System;
class Book
{
public string title;
public int pages;
public Book(string t, int p)
{
title = t;
pages = p;
}
// Copy Constructor
public Book(Book b)
{
title = b.title;
pages = b.pages;
}
public static void Main()
{
Book b1 = new Book("Intro C#", 150);
Book b2 = new Book(b1); // kopi dari b1
Console.WriteLine(b2.title + " – " + b2.pages + " halaman");
}
}
4) Static Constructor
- Dipanggil sekali saja ketika kelas pertama kali diakses.
- Berguna untuk menginisialisasi static fields.
- Tidak punya parameter.
Contoh:
using System;
class Counter
{
public static int count;
// Static constructor
static Counter()
{
count = 100;
Console.WriteLine("Static Constructor dipanggil");
}
public static void Main()
{
Console.WriteLine("Count = " + Counter.count);
}
}
5) Private Constructor
Constructor dengan akses private, men-blokir pembuatan objek dari luar kelas → sering digunakan bersama pola Singleton.
Contoh sederhananya:
class Example
{
private Example()
{
Console.WriteLine("Private constructor!");
}
}
Jika kamu coba new Example(), akan error karena constructor tidak bisa dipanggil dari luar.
Ringkasan Sifat Constructor
| Sifat | Artinya |
| Tidak punya return type | Tidak seperti method biasa |
| Sama nama dengan kelas | Tidak boleh beda |
| Bisa di-overload | Satu kelas bisa punya lebih dari satu constructor |
| Static hanya satu | Cuma satu static constructor per kelas |
Tips Belajar untuk Pemula
- Selalu pahami perbedaan antara constructor dan method biasa:
- Constructor otomatis dipanggil saat objek dibuat
- Method harus dipanggil secara eksplisit
- Gunakan parameterized constructor jika butuh objek dengan nilai berbeda-beda.
- Gunakan this untuk mengacu ke field kelas dalam constructor.















