Apa itu Metode Statis?

Metodepemrograman komputerberorientasi objekyang dideklarasikan dalam kelas tetapi tidak bergantung pada instantiasi tertentu dari kelas itu disebut metode statis.Sebagian besar bahasa pemrograman menyertakan kata kuncistaticdalam deklarasi suatu metode untuk membuat metode menjadi statis.Metode-metode ini benar-benar milik kelas tempat mereka berada dan bukan milik objek apa pun yang dibuat dari kelas itu.Mereka sering disebut sebagaimetode kelas.

Pria memegang komputer

Nama literal kelas biasanya digunakan untuk mengakses metode statis alih-alih merujuknya dengan nama objek yang dipakai.Di Jawa diperbolehkan menggunakan nama objek untuk merujuk ke metode ini, tetapi sangat tidak disarankan.Jika nama objek digunakan, orang yang membaca kode dapat mengacaukan salah satu metode ini dengan metode instan.

Metode statis sering digunakan di kelas utilitas yang tidak bergantung pada variabel instan dari kelas tertentu.Mereka juga digunakan ketika seorang programmer perlu mengakses metode tetapi tidak perlu untuk membuat instance kelas yang ada di dalamnya. Kelas utilitas biasanya tidak dipakai ke dalam objek.Ini akan menjadi tidak biasa untuk metode utilitas memiliki kebutuhan untuk mengubah informasi objek.Metode dari kelas java.lang.math, seperti pow(), akan menjadi contoh bagaimana jenis metode ini akan digunakan di kelas utilitas.

Metode instans dapat langsung mengakses variabel instan,variabel statis, metode instan, dan metode statis.Metode statis tidak dapat secara langsung mengakses variabel instan dan metode instan.Karena sifat metode instan memiliki akses yang lebih baik ke anggota kelas daripada metode statis, metode instan adalah jenis metode yang biasanya digunakan di kelas reguler.

Salah satu kelemahan utama dari metode statis terjadi selama pewarisan ketika polimorfisme digunakan.Selama metode statis induk tidak dinyatakan final, metode statis anak yang sama dapat dikodekan di kelas anak seolah-olah sedang diganti.Ini secara teknis disebut bersembunyi alih-alih mengganti karena metode statis tidak dapat diganti.

Saat persembunyian digunakan, jika metode statis induk diakses menggunakan nama kelas, metode induk akan digunakan.Jika metode statis anak yang diganti diakses menggunakan nama objek, metode anak yang diganti akan digunakan.Masalah terjadi ketika objek anak diangkat sebagai orang tua.Dalam hal ini, panggilan ke metode statis anak upcast akan menggunakan metode induk alih-alih metode anak yang diharapkan.Dengan polimorfisme sejati, metode anak akan menjadi yang diaktifkan setelah upcast.