Java Access Modifier

Access Modifier adalah suatu cara untuk memberikan pilihan akses pada class, method, dan variable di Java. Ada empat jenis access modifier, yaitu: public, protected, default, dan private. Untuk bisa memahami access modifier, perhatikan contoh kasus di bawah ini.
Gambar di bawah ini adalah contoh relasi dari dua package, package perpustakaan dan package rumah. Class buku pada package perpustakaan merupakan base class dari class buku komputer di package perpustakaan dan class buku memasak di package rumah. Komponen yang akan diberikan access modifier adalah class buku di package perpustakaan.

Public
Class buku bisa diakses oleh seluruh class lain.
Buku Pustakawan, Buku Komputer, Ibu, Buku Memasak.

Protected
Class buku hanya bisa diakses oleh class yang berelasi dengan class buku.
Buku Buku Komputer, Buku Memasak

Default
Access modifier default disebut juga Package Access, karena class buku hanya bisa diakses oleh class yang berada dalam package yang sama. Jika suatu komponen tidak disertakan access modifier didepannya, maka komponen tersebut ditetapkan sebagai default.
Buku Pustakawan, Buku Komputer

Private
Class buku tidak bisa diakses oleh class lain. Hanya class buku yang bisa mengakses dirinya sendiri.
Buku

Java Package dan Import Statement

Java package digunakan untuk mengelompokkan beberapa set class dan interface yang saling berkaitan (berelasi).

package contoh; // contoh package pada class
class CobaJava {
// kode
}

package contoh; // contoh package pada interface
interface CobaJava {
// kode
}

IMPORT STATEMENT

Perhatikan contoh relasi antara ruangan di rumah dan di kantor pada gambar di atas. Bagaimana cara menggunakan import untuk merelasikan ruang meeting di kantor dengan ruang tamu di rumah?

  • Tanpa statement import
  • package kantor;
    class RMeeting {
    rumah.RTamu rTamu;
    }
    
    
  • Menggunakan statement import
  • package kantor;
    import rumah.RTamu;
    class RMeeting {
    RTamu rTamu;
    }

Dalam contoh kasus di atas, ruangan yang ingin dipinjam kantor, hanya ruang tamu saja. Bagaimana jika kantor ingin merelasikan seluruh ruangan di rumah? Jika suatu class ingin menggunakan class atau interface dalam sebuah package yang berbeda, gunakan keyword asterik (*).

package kantor;
import rumah.*;
class RMeeting {
RTamu rTamu;
RDapur rDapur;
}

PENULISAN STATEMENT PACKAGE YANG DIREKOMENDASIKAN ORACLE
Oracle merekomendasikan penulisan statement package yang biasanya digunakan oleh perusahaan untuk membuat project besar.

com.hariy.javatutor.javabasic;

Struktur Java Class

Sebuah Java class memiliki komponen dan struktur yang diperlukan dalam pembuatan sebuah class. Berikut ini adalah komponen class dan penjelasannya.

  • Package statement
  • Import statement
  • Comment
  • Class declaration
  • Class definition
  • Variable
  • Method
  • Construction

PACKAGE STATEMENT
Package digunakan untuk mengelompokkan class dan interface yang berkaitan. Java class dapat secara eksplisit didefinisikan dalam sebuah package. Package statement harus diletakkan di statement pertama pada sebuah class. Package statement tidak boleh digunakan lebih dari satu kali dalam sebuah class.

package com.hariy.java; // ini adalah sebuah package
class CobaJava { // ini adalah deklarasi class
}

Berikut ini adalah poin-poin penting tentang package statement pada Java class.

  • Sebuah package harus diletakkan pada baris pertama dalam kode Java.
  • Penulisan package harus lower case. Penulisan kode dalam bahasa pemrograman Java bersifat case sensitive dan diakhiri dengan titik koma (;).
  • Statement package hanya bisa ditulis dalam kode Java sebanyak 1 kali.

IMPORT STATEMENT
Statement import digunakan untuk memakai class atau interface dari package yang berbeda.

COMMENT
Ada 2 jenis penulisan komentar pada java, yaitu:

  • Single Line
  • //contoh sigle line comment
  • Multi Line
  • /*
    ini adalah contoh
    multi line comment
    */

Penulisan komentar bisa dilakukan dimana saja pada kode java.

class CobaJava {
// kode java
}

CLASS DECLARATION
Pendeklarasian class bisa ditulis dengan menggunakan keyword “class” dan dengan diikuti dengan nama class. Berikut ini adalah contoh declaration class yang lengkap.

public final class CobaJava extends JavaLengkap implements InterfaceJava {}

table, th, td { border: 1px solid black; }

CLASS DEFINITION
Sebuah class merupakan design yang digunakan untuk menspesifikasikan properties dan behaviour sebuah object. Properties pada object didefinisikan sebagai variable dan behaviour pada object didefinisikan sebagai method.

VARIABLE
Variable digunakan untuk menyimpan keadaan suatu object (instance). Setiap object memiliki instance variable tersendiri.

METHOD
Secara umum, method digunakan untuk memanipulasi nilai instance variable pada suatu class serta menjalankan fungsi-fungsi yang dapat dikerjakan object.

CONSTRUCTION
Construction mirip dengan method, perbedaannya adalah constructor tidak memiliki nilai. Nama constructor harus sama dengan nama class.