OOP : Class vs Object

KristiadhyKristiadhy
3 min read

Pemrograman Berorientasi Objek (PBO) atau Object Oriented Programming (OOP) adalah sebuah model pemrograman yang menggunakan pendekatan kelas dan objek dalam merancang atau mendesain sebuah aplikasi.

Tujuan utama dari pemrograman berorientasi objek (PBO) atau Object Oriented Programming (OOP) adalah untuk mengatur kode dengan cara yang mencerminkan entitas dan interaksi dalam dunia nyata sehingga membuat aplikasi lebih kokoh dan mudah dikembangkan.

Catatan:

  • Beberapa istilah dalam artikel ini akan tetap akan mempertahankan istilah dalam bahasa Inggris, tujuannya adalah agar lebih mudah dipahami karena lebih familiar dengan dunia pemrograman.

Class vs Object

Class

Class merupakan sebuah blueprint atau template yang di dalamnya berisi data dan perilaku (method/function) yang dapat diakses dengan membuat sebuah instance (objek) dari class tersebut. Untuk lebih jelasnya mari kita lihat contoh gambar berikut ini:

Gambar di atas adalah ilustrasi dari sebuah blueprint atau template dari mobil. Gambar tersebut bukanlah mobil sesungguhnya dalam bentuk fisik, melainkan hanya sebuah sketsa, kita sebut ini sebagai class mobil.

Class "Mobil" memiliki atribut seperti warna, merk, dan model, serta metode atau fungsi seperti bergerak dan berhenti.

Object

Object merupakan sebuah instance atau realisasi dari class, object bagaikan bentuk fisik dari sebuah class. Object bisa memiliki nilai datanya masing-masing yang berbeda antara object yang satu dan yang lainnya. Untuk lebih jelasnya mari kita lihat gambar berikut ini.

Gambar di atas bukan sebuah blueprint atau template lagi, melainkan sudah menjadi sebuah objek mobil, inilah yang disebut dengan object.

Kini kita bisa memberikan nilai pada atribut object mobil tersebut sesuai dengan list atribut yang telah ditentukan dalam blueprint atau class nya (warna, merk, dan model), contoh:

  • Warna = Biru.

  • Merk = BMW.

  • Model = i5 (hanya contoh, saya tidak tau gambar tersebut tipe BMW apa XD ).

Kita juga dapat mengeksekusi perilaku atau metode dari mobil tersebut (disebut method/function) seperti metode “bergerak“ dan “berhenti”. Ketika kita mengeksekusi method/function nya, maka mobil ini akan menjalankan perintah “bergerak” atau “berhenti”.

Contoh code

Berikut contoh code untuk class dan object dalam bahasa pemrograman C#.

Contoh coding untuk class:

public class Car
{
    // This is an AutoProperty (C# 3.0 and higher)
    // used to generate a private field for you
    public string Color { get; set; }
    public string Brand { get; set; }
    public string Model { get; set; }

    public void Drive()
    {
        Console.WriteLine("The car is driving.");
    }
}

Contoh coding untuk object:

// This is an object of the Car class.
Car myCar = new Car();
myCar.Color = "Blue";
myCar.Brand = "BMW";
myCar.Model = "i5";
myCar.Drive();

Berikut perbedaan class dan object dalam sebuah tabel:

AspekClassObject
DefinisiBlueprint atau template untuk membuat objek.Sebuah instance atau realisasi dari class.
MemoryBelum memakan memory sampai class tersebut di-inisialisasi.Memakan memori saat objek dibuat.
AtributMendefinisikan atribut (field/property) dari objek.Memiliki nilai (value) yang dikaitkan dengan atributnya.
PerilakuMendefinisikan perilaku (method) dari objek.Dapat memanggil perilaku (method) yang didefinisikan oleh class nya.
KegunaanDigunakan untuk membuat objek.Digunakan untuk menjalankan operasi berdasarkan blueprint dari class nya.

Kita sudah mengenal lebih detail mengenai class dan object, selanjutnya kita akan melihat 4 prinsip dasar Object Oriented Programming (OOP), kita akan memulai dengan prinsip yang pertama yaitu Inheritence.

0
Subscribe to my newsletter

Read articles from Kristiadhy directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Kristiadhy
Kristiadhy

Experienced Full Stack .NET developer with a proven track record of designing and implementing robust business applications. Proficient in using ASP.NET Core Web API, Blazor, and WinForms to deliver high-quality, efficient code and scalable solutions. Strong focus on implementing industry best practices for cleaner and scalable outcomes.