Menu
CoddyTech

method toString()

Termasuk bagian Pemrograman Berorientasi Objek dalam perjalanan Java di Coddy. Pelajaran 41 dari 87.

Setiap class di Java mewarisi class Object, yang menyediakan beberapa method berguna. Salah satu method yang paling sering ditimpa adalah toString(), yang mengembalikan representasi string dari sebuah object.

Secara default, toString() mengembalikan nama class diikuti kode hash object, yang tidak terlalu membantu:

public class Person {
    private String name;
    private int age;
    
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
}

Person p = new Person("Alice", 25);
System.out.println(p);  // Person@15db9742

Dengan meng-override toString(), kamu bisa memberikan output bermakna yang menjelaskan keadaan object:

public class Person {
    private String name;
    private int age;
    
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
    
    @Override
    public String toString() {
        return "Person[name=" + name + ", age=" + age + "]";
    }
}

Person p = new Person("Alice", 25);
System.out.println(p);  // Person[name=Alice, age=25]

method toString() dipanggil secara otomatis saat kamu mencetak object atau menggabungkannya dengan string. Ini membuat proses debug jauh lebih mudah karena kamu bisa melihat isi object dengan cepat tanpa menulis kode tambahan.

challenge icon

Tantangan

Mudah

Mari kita buat sistem inventaris produk yang menampilkan informasi bermakna tentang barang menggunakan implementasi toString() khusus. Kamu akan membuat Product class yang menimpa method toString() default untuk memberikan representasi yang jelas dan mudah dibaca untuk setiap produk.

Kamu akan menyusun kodemu dalam dua file:

  • Product.java: Buat class yang merepresentasikan barang inventaris. Setiap Product memiliki tiga field privat: name (String), price (double), dan quantity (int). Sertakan constructor yang menginisialisasi ketiga field tersebut. Timpa method toString() agar mengembalikan string berformat dengan format persis berikut: Product[name=X, price=Y, quantity=Z], dengan X, Y, dan Z sebagai nilai field sebenarnya. Harga ditampilkan sebagai angka biasa, tanpa pemformatan khusus.
  • Main.java: Hidupkan class Product dengan membuat dan menampilkan produk. Kamu akan menerima tiga input: nama produk (String), harga (double), dan kuantitas (int). Buat Product dengan nilai-nilai ini, lalu cukup cetak object produk secara langsung menggunakan System.out.println(). Berkat method toString() yang kamu timpa, informasi produk berformat akan otomatis ditampilkan, bukan output default yang sulit dipahami!

Kamu akan menerima tiga input: nama produk (String), harga (double), dan kuantitas (int).

Perhatikan bahwa mencetak object secara langsung akan memanggil method toString() secara otomatis. Inilah yang membuat proses debug dan pencatatan log jauh lebih mudah dalam aplikasi nyata!

Coba sendiri

import java.util.Scanner;

class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        // Baca input
        String name = scanner.nextLine();
        double price = scanner.nextDouble();
        int quantity = scanner.nextInt();
        
        // TODO: Buat object Product dengan nilai input
        
        // TODO: Cetak object Product secara langsung
        // (Ini akan otomatis memanggil method toString() milikmu!)
    }
}
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Pemrograman Berorientasi Objek

Latihan sendiri: Compiler Java online