POLYMORPHISME

           Metode disebut polimorfis jika aksi yang dilakukan oleh suatu metode berbeda-beda tergantung pada objek aktual pada saat metode itu dijalankan. Polimorfisme adalah salah satu fitur utama dalam pemrograman berorientasi objek. Sebagai contoh, sebuah class induk dengan nama Student mempunyai subclass StudentGrad, dan ditambahkan class lain dengan nama StudentInfo.
CONTOH :
              kita membuat tiga object class dengan nama Student, subclass StudentGrad dan class StudentInfo. Class Student mempunyai method Write yang digunakan untuk melewatkan argumen untuk kemudian ditampilkan dengan menggunakan method Display.
class student {
    private int m_ID, m_Graduation;
    private String m_First;
    private String m_Last;
    public void write(int ID, int Grad, String Fname, String Lname){
        m_ID = ID;
        m_Graduation = Grad;
        m_First = Fname;
        m_Last = Lname;
    }
    public void Display(){
        System.out.println( "Student: " + m_ID + " " + m_First + " " + m_Last + " Graduated: " + m_Graduation);
    }
}

INHERITANCE

Inheritance merupakan pewarisan atribut dan method pada sebuah class yang diperoleh dari class yang telah terdefinisi tersebut. Setiap subclass akan mewarisi state (variabel-variabel) dan behaviour (method-method) dari superclass-nya. Subclass kemudian dapat menambahkan state dan behaviour baru yang spesifik dan dapat pula memodifikasi (override) state dan behaviour yang diturunkan oleh superclass-nya.
contoh Program Inheritance  :
menurunkan 2 buah kelas turunan dari kelas induk yang berupa lingkaran dimana program ini dapat menghitung luas dan keliling lingkaran.
Source code : 
class lingkaran {
    protected int r = 7;
    void info(){
        System.out.println("Jari - Jari = "+r);
    }
}
class luas extends lingkaran{
    private int r;
    public double hasil(){
        r = super.r;
        return 3.14*r*r;
    }
}

method accesor dan method mutator

method accesor -> method yang berfungsi untuk mengambil nilai dari suatu variable.
method mutator -> method yang berfungsi mengisi/mengeset nilai pada suatu variable dan juga dapat merubah nilai.
contoh program yang menggunakan method di atas : 
sorce code : 
class kucing {
    private int umur;
    private double berat;
    private String nama;
    //method accesor
    public int getUmur(){
        return umur;
    }
    public double getBerat(){
        return berat;
    }