author Ahmad Muhardian

Belajar Java OOP: Mengenal Constructor & Destructor dalam Java


Memahami Constructor dalam Java

Apa itu Constructor?

Constructor adalah method khusus yang akan dieksekusi pada saat pembuatan objek (instance).

Biasanya method ini digunakan untuk inisialisasi atau mempersiapkan data untuk objek.

Contoh Constructor dan Cara Membuatnya

Berikut ini contoh Constructor:

Contoh Constructor di Java

Cara membuat constructor adalah dengan menuliskan nama method constructor sama seperti nama class.

Pada contoh di atas constructor ditulis seperti ini:

public User() {
    System.out.println("eksekusi method constructor...");
}

Pastikan memberikan modifier public kepada Constructor, karena ia akan dieksekusi saat pembuatan objek (instance).

Mari kita coba membuat objek baru dari class User:

User petani = new User();

Sehingga sekarang kita punya kode lengkap seperti ini:

Contoh Constructor di Java

Hasilnya saat dieksekusi:

Output contoh constructor

Constructor dengan Parameter

Constructor biasanya digunakan untuk initialize (menyiapkan) data untuk class.

Untuk melakukan ini, kita harus membuat parameter sebagai inputan untuk constructor.

Contoh:

public class User {
    public String username;
    public String password;

    public User(String username, String password){
        this.username = username;
        this.password = password;
    }
}

Pada kode class User di atas, kita menambahkan parameter username dan password ke dalam constructor.

Berarti nanti saat kita membuat objek, kita harus menambahkan nilai parameter seperti ini:

User petani = new User("petanikode", "kopi");

Contoh Kode lengkapnya:

package konstruktor;

public class User {
    public String username;
    public String password;
    
    public User(String username, String password){
        this.username = username;
        this.password = password;
    }
       
}


class DemoConstructor{
    public static void main(String[] args) {
        User petani = new User("petanikode", "kopi");
        System.out.println("Username: " + petani.username);
        System.out.println("Password: " + petani.password);
    }
}

Hasil outputnya:

Output contoh constructor dengan parameter

Destructor dalam Java

Destructor adalah method khusus yang akan dieksekusi saat objek dihapus dari memori.

Java sendiri tidak memiliki method destructor, karena Java menggunakan gerbage collector untuk manajemen memorinya.

Jadi Si gerbage collector akan otomatis menghapus objek yang tidak terpakai.

Sementara untuk bahasa pemrograman lain, seperti C++ kita bisa membuat destructor sendiri seperti ini:

class User {  
public:  
   User( String *username );  // <-- ini constructor  
   ~User(); //  <-- ini destructor.  
private:  
   String username;  
   String password;  
}; 

Apa Selanjutnya?

…Intinya constructor adalah sebuah method. Method yang akan dieksekusi saat pembuatan objek.

Sementara untuk destructor adalah kebalikan dari constructor dan Java tidak memiliki destructor karena menggunakan metode gerbage collector.

Selanjutnya silahkan pelajari tentang kata kunci this dan super.