Basic OOP - Access Modifier
Saya mengambil judul ini dikarenakan saya sering menjumpai kebanyakan orang mampu melakukan coding dalam .NET dengan baik, namun ada hal yang mereka lupakan yaitu bagaimana dan apa saja kegunaan dari keyword code yang mereka gunakan
Dalam postingan kali ini saya akan sekilas membahas mengenai beberapa keyword yang sering digunakan dalam OOP dan memberikan perbedaan mendasar antara keyword yang akan digunakan
Dalam post bagian pertama ini saya akan menekankan pembahasan pada access modifier
Di dalam OOP khususnya dalam .NET, kita mengenal 5 macam access modifier utama yaitu public, private, protected, internal ,protected internal berikut penjelasannya
public

Keyword ini membuat sebuah field, property, method menjadi tidak terbatas untuk diakses dari mana saja, dengan access public kita bisa menggunakan field, property, method dari class lain walaupun tidak dalam satu project. Kita hanya perlu mengambil class library yang akan kita gunakan
protected

Access protected mengurangi sedikit dari kemampuan akses public, hanya class yang menjadi class turunan dari class yang memiliki keyword protected ini saja yang bisa menggunakan field, property, method yang bersangkutan
private

Private membuat hak akses menjadi sangat terbatas, yaitu hanya di dalam class itu saja. Di luar class tersebut maka field, property, method yang sudah diberikan keyword private tidak akan dapat diakses dari class lain
internal

Penggunaan keyword ini membatasi penggunaan field, property, method hanya dalam satu assembly atau dengan bahasa yang lebih mudah di dalam satu project saja yang bisa saling mengakses field, property, method dengan keyword ini
protected internal

Sama halnya dengan keyword internal, keyword ini memastikan hanya class dalam satu project yang bisa saling bertukar informasi namun dengan tambahan pembatasan yaitu hanya diijinkan untuk class turunannya saja, di luar hal tersebut maka access tetap tidak dapat dilakukan
Beberapa keyword bawaan .net sudah memiliki access modifier tertentu dan tidak dapat diubah, sebagai contoh enum dan interface yang memiliki access modifier public. Perubahan pada access ini akan mengakibatkan error pada saat compile. Untuk class dan struct default keywordnya adalah private, namun dapat diubah menjadi access lain. Class dapat diubah menjadi public, protected, internal, private, protected internal sedangkan struct hanya dapat diubah menjadi public, internal, private
Antonio Fernandez