<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Oop on Abazure.dev</title><link>https://abazure.github.io/tags/oop/</link><description>Recent content in Oop on Abazure.dev</description><generator>Hugo</generator><language>id</language><lastBuildDate>Tue, 30 Jun 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://abazure.github.io/tags/oop/index.xml" rel="self" type="application/rss+xml"/><item><title>Kenapa Composition Lebih Disukai daripada Inheritance Dalam OOP?</title><link>https://abazure.github.io/posts/kenapa-composition-lebih-disukai-daripada-inheritance-dalam-oop/</link><pubDate>Tue, 30 Jun 2026 00:00:00 +0000</pubDate><guid>https://abazure.github.io/posts/kenapa-composition-lebih-disukai-daripada-inheritance-dalam-oop/</guid><description>&lt;h2 id="pendahuluan"&gt;Pendahuluan&lt;/h2&gt;
&lt;p&gt;Dalam pemrograman berorientasi objek (OOP), ada dua cara umum untuk menggunakan
kembali kode dari satu &lt;em&gt;class&lt;/em&gt; di &lt;em&gt;class&lt;/em&gt; lain: &lt;strong&gt;pewarisan&lt;/strong&gt; (&lt;em&gt;inheritance&lt;/em&gt;) dan
&lt;strong&gt;komposisi&lt;/strong&gt; (&lt;em&gt;composition&lt;/em&gt;).&lt;/p&gt;
&lt;p&gt;Ada satu prinsip desain yang sangat terkenal: &lt;strong&gt;&amp;ldquo;composition over inheritance&amp;rdquo;&lt;/strong&gt;,
yaitu mengutamakan komposisi daripada pewarisan. Kenapa begitu? Mari kita pahami dulu
perbedaan keduanya.&lt;/p&gt;
&lt;h2 id="pewarisan-hubungan-adalah-is-a"&gt;Pewarisan: Hubungan &amp;ldquo;adalah&amp;rdquo; (is-a)&lt;/h2&gt;
&lt;p&gt;Pewarisan dipakai ketika sebuah &lt;em&gt;class&lt;/em&gt; &lt;strong&gt;adalah&lt;/strong&gt; jenis dari &lt;em&gt;class&lt;/em&gt; lain.
Misalnya, &lt;code&gt;Cat&lt;/code&gt; &lt;strong&gt;adalah&lt;/strong&gt; &lt;code&gt;Animal&lt;/code&gt;, jadi &lt;code&gt;Cat&lt;/code&gt; mewarisi sifat &lt;code&gt;Animal&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Ternyata Java Bukanlah Bahasa OOP Murni! Ini Buktinya</title><link>https://abazure.github.io/posts/ternyata-java-bukanlah-bahasa-oop-murni-ini-buktinya/</link><pubDate>Fri, 15 May 2026 00:00:00 +0000</pubDate><guid>https://abazure.github.io/posts/ternyata-java-bukanlah-bahasa-oop-murni-ini-buktinya/</guid><description>&lt;h2 id="pendahuluan"&gt;Pendahuluan&lt;/h2&gt;
&lt;p&gt;Java sangat identik dengan &lt;strong&gt;Object-Oriented Programming&lt;/strong&gt; (OOP). Tidak heran
banyak yang mengira Java adalah bahasa berorientasi objek &lt;strong&gt;murni&lt;/strong&gt; (&lt;em&gt;pure
OOP&lt;/em&gt;). Padahal kenyataannya: &lt;strong&gt;Java bukan bahasa OOP murni.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Apa maksudnya &amp;ldquo;murni&amp;rdquo;? Sebuah bahasa disebut OOP murni jika &lt;strong&gt;segala sesuatunya
adalah objek&lt;/strong&gt;, bahkan angka sekalipun, dan semua operasi dilakukan lewat
&lt;em&gt;method&lt;/em&gt; pada objek. Java tidak sepenuhnya seperti itu.&lt;/p&gt;
&lt;p&gt;Mari kita lihat alasan-alasannya.&lt;/p&gt;
&lt;h2 id="1-ada-tipe-primitif-yang-bukan-objek"&gt;1. Ada Tipe Primitif yang Bukan Objek&lt;/h2&gt;
&lt;p&gt;Java punya &lt;strong&gt;tipe primitif&lt;/strong&gt; seperti &lt;code&gt;int&lt;/code&gt;, &lt;code&gt;boolean&lt;/code&gt;, &lt;code&gt;char&lt;/code&gt;, dan &lt;code&gt;double&lt;/code&gt;.
Nilai-nilai ini &lt;strong&gt;bukan objek&lt;/strong&gt;, melainkan disimpan langsung sebagai data mentah,
bukan sebagai instance dari sebuah &lt;em&gt;class&lt;/em&gt;.&lt;/p&gt;</description></item></channel></rss>