Kalau Anda lagi belajar pemrograman berorientasi objek (Object Oriented Programming/OOP), mungkin sering dengar istilah class, object, attribute, dan yang nggak kalah penting, yaitu method. Nah, sebenernya apa sih method itu, dan kenapa penting banget dalam OOP?
Apa Itu Method?
Secara sederhana, method adalah “aksi” atau “perilaku” yang dimiliki sebuah object dalam OOP. Kalau class itu bisa kita ibaratkan seperti blueprint (cetak biru), maka object adalah benda nyata-nya, dan method adalah “apa yang bisa dilakukan benda itu”.
Contoh gampangnya:

- Bayangin ada class Mobil.
- Mobil bisa punya data kayak warna atau merk (itu namanya attribute).
- Tapi mobil juga bisa berjalan, berhenti, atau belok, nah, itulah yang disebut method.
Jadi intinya, method adalah function yang hidup di dalam class, yang biasanya berhubungan langsung dengan data (atribut) di class itu. Tanpa method, object itu cuma punya data (attribute), tapi nggak bisa ngapa-ngapain.
Perbedaan Method dengan Function
Banyak yang bingung, “Emang bedanya apa sih antara function sama method?”
- Function: Blok kode bebas merdeka. Bisa berdiri sendiri tanpa harus nempel ke class atau object.
- Method: Harus nempel di dalam class. Biasanya dipanggil lewat sebuah object, dan sering kali berinteraksi sama data yang ada di object itu.
Contoh perbedaan:
- Function bebas: hitungLuas(panjang, lebar) → tinggal panggil aja, nggak peduli ada objek apa enggak.
- Method di class Mobil: mobil.bergerak() → method ini butuh object mobil untuk dipanggil.
Macam-Macam Method dalam OOP
Di berbagai bahasa pemrograman OOP (Java, Python, C++, dsb.), method punya jenis-jenis tertentu. Beberapa yang paling sering dipakai:
1. Instance Method
Method yang harus dipanggil lewat object. Contoh:
String teks = "Halo Dunia";
teks.toUpperCase(); // memanggil instance method
2. Static Method
Bisa dipanggil tanpa membuat object dari class. Contoh di Java:
Math.sqrt(25); // langsung bisa dipakai
3. Abstract Method
Didefinisikan tapi belum ada isi atau implementasinya. Bagian subclass wajib mengisinya dan biasanya dipakai buat bikin kerangka perilaku.
4. Final Method
Method yang nggak boleh di-override di subclass.Tujuannya supaya perilaku method tetap konsisten.
Contoh Method dalam Class
Biar lebih jelas, yuk lihat contohnya. Misalnya Anda punya class Kalkulator di Java:
class Kalkulator {
// Instance Method
int tambah(int a, int b) {
return a + b;
}
}
public class Main {
public static void main(String[] args) {
Kalkulator kalkulator = new Kalkulator();
int hasil = kalkulator.tambah(5, 3);
System.out.println("Hasil: " + hasil);
}
}
Output:
Hasil: 8
Di sini, tambah() adalah method yang menempel pada class Kalkulator. Method ini cuma bisa dipakai kalau Anda bikin object kalkulator terlebih dahulu.
Kenapa Method Penting Banget?
Bayangin kalau object cuma punya data (attribute) tapi nggak bisa apa-apa. Misalnya object Mobil cuma punya informasi warna, merk, sama tahun produksi, tapi nggak bisa disuruh jalan, berhenti, atau belok. Kan jadinya kayak mobil rusak! Nah, dengan adanya method, object bukan cuma punya “identitas” (data), tapi juga punya “tingkah laku” (aksi). Inilah yang bikin OOP jadi super powerful dan realistis dalam memodelkan dunia nyata.
Jadi, singkatnya, method adalah perilaku atau aksi yang bisa dilakukan oleh sebuah object dalam OOP. Beda sama function biasa, method selalu terikat ke class atau object. Ada berbagai macam method: instance, static, abstract, final. Method bikin object bisa “hidup” dan “berperilaku”, bukan cuma nyimpen data. Kalau diibaratkan, class adalah cetakan, object adalah barang jadinya, attribute adalah ciri-ciri, dan method adalah apa yang bisa dilakukan oleh barang itu.
FAQ Seputar Method
Apakah semua method harus dipanggil lewat object?
Tidak. Kalau method-nya static, Anda bisa panggil langsung lewat nama class.
Apakah function bisa jadi method?
Bisa. Begitu function ditempelkan ke dalam class, maka ia berubah jadi method.
Method hanya ada di OOP?
Ya, istilah “method” identik dengan OOP. Tapi konsep mirip method (yaitu function yang menempel ke object) juga ada di bahasa non-OOP, misalnya JavaScript.





