Pada pemrograman, kata “static” merujuk pada sebuah kata kunci yang digunakan untuk menunjukkan bahwa sebuah variabel, fungsi, atau kelas tertentu harus bertahan atau dipertahankan selama program berjalan. Penggunaan kata kunci “static” biasanya bertujuan untuk memperbaiki atau mengoptimalkan kinerja program.
Variabel Static
Variabel static adalah variabel yang nilainya tidak berubah selama program dijalankan. Variabel ini hanya dideklarasikan sekali pada awal program, dan nilainya akan dipertahankan selama program berjalan. Variabel static biasanya digunakan untuk menyimpan nilai yang sama di seluruh program, atau untuk menyimpan nilai yang dibutuhkan oleh banyak bagian dari program. Sebagai contoh, sebuah variabel untuk menghitung jumlah objek yang telah dibuat dari sebuah kelas dapat dideklarasikan sebagai static, sehingga nilai variabel tersebut akan bertahan di seluruh program. Pada contoh ini, kita akan membuat variabel static untuk menghitung jumlah objek yang telah dibuat dari sebuah kelas:
class MyClass {
public static int count = 0;
public MyClass() {
count++;
}
}
MyClass obj1 = new MyClass();
MyClass obj2 = new MyClass();
System.out.println(MyClass.count); // Output: 2
Variabel “count” dideklarasikan sebagai static, sehingga nilainya akan dipertahankan selama program berjalan dan dapat diakses oleh semua instance dari kelas “MyClass”.
Fungsi Static
Fungsi static adalah fungsi yang hanya dapat diakses di dalam file di mana fungsi tersebut didefinisikan. Fungsi ini tidak dapat diakses dari file lain atau dari luar program. Fungsi static biasanya digunakan untuk membatasi akses ke fungsi tertentu, sehingga fungsi tersebut hanya dapat digunakan oleh bagian tertentu dari program. Fungsi static juga dapat digunakan untuk mengoptimalkan kinerja program, karena fungsi static tidak perlu dideklarasikan ulang setiap kali dipanggil. Pada contoh ini, kita akan membuat fungsi static untuk menghitung nilai faktorial dari sebuah bilangan:
public class Factorial {
public static int factorial(int n) {
if (n == 0) {
return 1;
} else {
return n * factorial(n-1);
}
}
}
int n = 5;
System.out.println("Factorial of " + n + " is " + Factorial.factorial(n)); // Output: Factorial of 5 is 120
Fungsi “factorial” dideklarasikan sebagai static, sehingga dapat dipanggil tanpa harus membuat instance dari kelas “Factorial”.
Baca juga : Bagaimana Cara Memulai Karir Programmer?
Kelas Static
Kelas static adalah kelas yang memiliki satu set variabel dan fungsi yang bersifat global atau bersifat statis di seluruh program. Kelas ini biasanya digunakan untuk menyimpan fungsi dan variabel yang digunakan oleh seluruh program, sehingga mengurangi jumlah redundansi dalam kode. Kelas static juga digunakan untuk membuat objek dengan metode yang sama tanpa harus membuat instance dari kelas tersebut.
public class Constants {
public static final double PI = 3.14159;
public static final double E = 2.71828;
}
System.out.println("The value of PI is " + Constants.PI); // Output: The value of PI is 3.14159
Namun, perlu diperhatikan bahwa penggunaan kata kunci “static” harus digunakan dengan hati-hati. Jika tidak digunakan dengan benar, penggunaan “static” dapat membingungkan dan sulit untuk diubah. Variabel atau fungsi static juga dapat mempengaruhi kinerja program, terutama jika digunakan dalam program besar atau dalam lingkungan multi-threading. Oleh karena itu, sebaiknya gunakan kata kunci “static” hanya jika memang benar-benar diperlukan.
Kesimpulan
Kata kunci “static” digunakan pada pemrograman untuk menunjukkan bahwa sebuah variabel, fungsi, atau kelas harus dipertahankan selama program berjalan. Variabel static digunakan untuk menyimpan nilai yang sama di seluruh program, fungsi static digunakan untuk membatasi akses ke fungsi tertentu dan kelas static digunakan untuk menyimpan fungsi dan variabel yang bersifat global di seluruh program. Namun, penggunaan kata kunci “static” harus digunakan dengan hati-hati dan hanya jika memang benar-benar diperlukan.