Skip to content

Object Construction

Info

Semua file yang ada pada contoh pada catatan ini ada pada package J4_6_Object_Construction

Java menawarkan berbagai macam mekanisme dalam membangun object.

Method Overloading

Beberapa class memiliki lebih dari satu constructor, salah satunya adalah StringBuilder yang memiliki 4 buah constructore dengan tipe parameter yang dibutuhkan yang berbeda.

Code

package Ch4.J4_6_Object_Construction;

public class J_1_StringBuilder_Overloading {
    public static void main(String[] args) {
        var sb1 = new StringBuilder();

        String s = "To do: \n";
        var sb2 = new StringBuilder(s);

        var sb3 = new StringBuilder(50);

        CharSequence cs = "List Task : \n";
        var sb4 = new StringBuilder(cs);
    }
}

Kemampuan ini disebut dengan overloading. Overloading terjadi jika beberapa method dengan nama yang sama (pada contoh diatas kita menggunakan constructor method) namun memiliki parameter yang berbeda. Compiler harus mengurutkan dan menentukan method mana yang dipanggil. Compiler akan memilih method yang sesuai dengan tipe parameter yang diberikan pada header dari macam-macam method.

Compile-timer error akan terjadi jika, compiler tidak dapat mencocokan parameter2 apakah karena tidak cocok dengan semua method dengan nama yang sama. Proses mencarian kecocokan itu disebut dengan overloading resolution.

Object Desctruction and finalize method

Beberapa OOP, seperti C++, memiliki method desctructor yang terpisah untuk membersihka kode yang sudah lagi dibutuhkan. Aktivitas yang paling sering terjadi saat descturtion proses adalah memberishakn memori yang diisi oleh object. Karen java secara otomatis menjalankan garbage collection, maka pembebasan memory tidak lagi dibutuhkan, maka dari itu Java tidak mendukung desctructors. Namun tentu, beberapa object memanfaatkan sebuah resource yang dapat melebihi kapasitas memory, seperti sebuah file atau menanganin objek yang menggunakan system resources. Pada kondisi ini sangat penting untuk melepaskan resources dan mengambalikannya jika resource sudah tidak lagi digunakan.

Jadi sebuah resource harus segara di-close secepat mungkin setelah kita selesai menggunakannya, berikan method close() yang melakukan pembersihan yang dibutuhkan. Kita dapat memanggil method #1java close ketika kita selesai dengan object. InsyaAllah pada catatan ini kita akan membahas bagaimana kita memanggil method tersebut secara otomatis.