Kamis, Mei 13, 2021

Memahami "static" dalam "public static void main" pada Java

Berikut adalah pehaman dari penggunaan keyword "static" pada method main() pada bahasa pemrograman Java, seperti diperlihatkan pada beberapa penjelasan berikut:

satu, main() method: main() method pada Java adalah entry point untuk JVM yang digunakan untuk menuju ke program Java. JVM meluncurkan program Java dengan memanggil method main() seperti diperlihatkan pada gambar 1.


dua, Static adalah keyword. Peran dari penambahan static sebelum entitas apapun adalah membuat entitas dari sebuah class entity. Dengan kata lain, penambahan static sebelum method dan variabel akan menciptakan method class dan variabel class, bukan method instance dan variabel instance pada program Java. Karenanya, method static dan variabel dapat secara langsung diakses dengan bantuan dari class, artinya tidak dibutuhkan lagi penciptaan object untuk tujuan mengakses method static atau variabel pada program Java.

/* membuat fungsi sebagai static */
static void func()
{}
/* membuat variabel sebagai static */
static int var;

tiga, Method static: Ketika method dideklarasikan dengan keyword static, maka method tersebut akan diidentifikasi sebagai method static. Seperti yang telah dibahas sebelumnya, bahwa setiap anggota static dapat diakses sebelum object apapun dari class-nya diciptakan, dan juga tanpa menggunakan referensi dari object apapun.

/* membuat fungsi static */
class GfG
{
static void func(){}
}
/* memanggil fungsi static */
GfG.func();

empat, Method static main(): Ketika keyword static ditambahkan ke dalam fungsi definisi dari method main(), maka method tersebut akan diidentifikasi sebagai method static main().

class GfG
{
/* membuat static main function */
public static void main(String[] args){}
}

lima, Kebutuhsan static dalam main() method: Karena main() method adalah entry point dari aplikasi atau program Java apapun, maka karena hal tersebut, membuat main() method sebagai tipe static adalah suatu keharusan yang wajib diikuti dengan beberapa alasan:

  • #1, Static main() method membuat JVM lebih jelas dalam memanggil Java aplikasi. Jika tidak, maka membutuhkan persyaratan untuk spesifikasi entry function untuk setiap membangun aplikasi Java bagi JVM untuk meluncurkan aplikasi.
  • #2, Method adalah static karena jika tidak maka akan membuat program menjadi ambigu terhadap constructor mana yang akan dipanggil.

contoh: 
public class GfG
{
protected GfG(int g){}
public void main(String[] args){}


JVM sekarang memasuki keputusan yang ambigu apakah akan memanggil new GFG(int) atau tidak? Jika iya, mana yang akan dilewatkan untuk g? Jika tidak, maka JVM instance GFG tanpa mengeksekusi method constructor apapun. Dan masih banyak contoh kasus lainnya bagi JVM untuk melakukan instance class sebelum entry point dipanggil. Inilah alasan kenapa main harus dibuat static.

  • #3, Method main() dibuat static karena hal tersebut lebih mudah buat JDK untuk memahami program. Contoh, jika pembuatan method main() static tidak bersifat wajib, maka hal tersebut hanya akan membuat IDE menjadi sulit untuk mendeteksi class yang akan diluncurkan pada sebuah project. Karena hal inilah, maka method entry main() dibuat sebagai public static void main(String[] args), sehingga membuat method main() pada Java yang telah dideklarasikan dapat diakses oleh JVM secara langsung menggunakan nama class-nya sebelum object tersebut diciptakan.

5 komentar:

  1. Apa yang dimaksud dengan static pada bahasa pemrograman Java?

    BalasHapus
    Balasan
    1. Pada program Java, member static adalah anggota class yang tidak terkai dengan instance class pada suatu program. Sebaliknya, anggota atau member tersebut menjadi kepunyaan dari class itu sendiri. Hasilnya, user dapat mengakses anggota static tanpa perlu membuat instance class terlebih dahulu. Static field adalah bernilai sama pada semua instance class pada pemrograman Java.

      Hapus
    2. Jika member class dideklarasikan sebagai static, maka member tersebut tidak bisa diakses sebelum object apapun dari class-nya diciptakan, dan tanpa referensi ke object apapun. Contoh, pada program Java akan diakses method static m1() tanpa membuat object dari class Test.

      Hapus
  2. Kapan harus menggunakan static dalam program Java?

    BalasHapus
    Balasan
    1. 1. Ketika membuat main method.
      2. Ketika ingin memiliki variabel yang mendeskripsikan sesuatu tentang class itu sendiri, bukan object individu dari class tersebut.
      3. Ketika ingin memiliki variabel yang selalu memiliki nilai yang sama untuk setiap object class dan berlangsung selamanya.

      Hapus

Respon komentar 7 x 24 jam, so please be patient :D