wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

quiz oop [encapsulation, inherit, interface, abstract]

Total questions: 50

Worksheet time: 31mins

Name
Class
Date
1.
Apa yang dimaksud dengan interface dalam OOP?
a)
Sebuah kelas yang dapat diinstansiasi
b)
Sebuah kelas dengan metode yang sudah diimplementasikan
c)
Sebuah kontrak yang menentukan metode tanpa implementasi
d)
Sebuah kelas yang tidak bisa diinstansiasi
2.
Manakah yang benar tentang abstract class?
a)
Dapat memiliki metode yang diimplementasikan
b)
Tidak dapat memiliki konstruktor
c)
Tidak dapat memiliki variabel
d)
Hanya dapat memiliki metode abstrak
3.
Apakah perbedaan utama antara abstract class dan interface?
a)
Abstract class tidak bisa memiliki metode konkret
b)
Interface tidak bisa memiliki variabel
c)
Interface tidak bisa diinstansiasi
d)
Abstract class dapat memiliki metode yang diimplementasikan sedangkan interface tidak
4.
Manakah dari berikut ini yang benar tentang interface?
a)
Dapat memiliki konstruktor
b)
Dapat memiliki metode statis
c)
Dapat memiliki metode default
d)
Tidak bisa diimplementasikan oleh kelas lain
5.
Untuk apa interface digunakan?
a)
Menyediakan implementasi default
b)
Mengurangi duplikasi kode
c)
Mendefinisikan kontrak untuk kelas
d)
Mengatur aksesibilitas variabel
6.
Manakah pernyataan berikut yang benar tentang abstract class?
a)
Tidak dapat memiliki metode yang diimplementasikan
b)
Hanya dapat memiliki metode abstrak
c)
Dapat memiliki variabel dan metode yang diimplementasikan
d)
Tidak dapat diinherit oleh kelas lain
7.
Dapatkah sebuah kelas mengimplementasikan lebih dari satu interface?
a)
Tidak
b)
Ya
c)
Hanya jika interface tersebut tidak memiliki metode yang sama
d)
Tergantung pada bahasa pemrograman
8.
Apakah keuntungan menggunakan interface dalam OOP?
a)
Mengizinkan pewarisan tunggal
b)
Membatasi jumlah metode dalam kelas
c)
Memaksa kelas untuk mengimplementasikan metode tertentu
d)
Mengurangi overhead memori
9.
Bagaimana cara mendeklarasikan interface dalam Java?
a)
class MyInterface
b)
interface MyInterface
c)
abstract MyInterface
d)
implements MyInterface
10.
Manakah yang tidak bisa dilakukan oleh interface?
a)
Memiliki metode abstrak
b)
Memiliki variabel final
c)
Memiliki metode default
d)
Memiliki konstruktor
11.
Apa yang dimaksud dengan interface dalam OOP?
a)
Sebuah kelas yang dapat diinstansiasi
b)
Sebuah kelas dengan metode yang sudah diimplementasikan
c)
Sebuah kontrak yang menentukan metode tanpa implementasi
d)
Sebuah kelas yang tidak bisa diinstansiasi
12.
Manakah yang benar tentang abstract class?
a)
Dapat memiliki metode yang diimplementasikan
b)
Tidak dapat memiliki konstruktor
c)
Tidak dapat memiliki variabel
d)
Hanya dapat memiliki metode abstrak
13.
Apakah perbedaan utama antara abstract class dan interface?
a)
Abstract class tidak bisa memiliki metode konkret
b)
Interface tidak bisa memiliki variabel
c)
Interface tidak bisa diinstansiasi
d)
Abstract class dapat memiliki metode yang diimplementasikan sedangkan interface tidak
14.
Manakah dari berikut ini yang benar tentang interface?
a)
Dapat memiliki konstruktor
b)
Dapat memiliki metode statis
c)
Dapat memiliki metode default
d)
Tidak bisa diimplementasikan oleh kelas lain
15.
Untuk apa interface digunakan?
a)
Menyediakan implementasi default
b)
Mengurangi duplikasi kode
c)
Mendefinisikan kontrak untuk kelas
d)
Mengatur aksesibilitas variabel
16.
Manakah pernyataan berikut yang benar tentang abstract class?
a)
Tidak dapat memiliki metode yang diimplementasikan
b)
Hanya dapat memiliki metode abstrak
c)
Dapat memiliki variabel dan metode yang diimplementasikan
d)
Tidak dapat diinherit oleh kelas lain
17.
Dapatkah sebuah kelas mengimplementasikan lebih dari satu interface?
a)
Tidak
b)
Ya
c)
Hanya jika interface tersebut tidak memiliki metode yang sama
d)
Tergantung pada bahasa pemrograman
18.
Apakah keuntungan menggunakan interface dalam OOP?
a)
Mengizinkan pewarisan tunggal
b)
Membatasi jumlah metode dalam kelas
c)
Memaksa kelas untuk mengimplementasikan metode tertentu
d)
Mengurangi overhead memori
19.
Bagaimana cara mendeklarasikan interface dalam Java?
a)
class MyInterface
b)
interface MyInterface
c)
abstract MyInterface
d)
implements MyInterface
20.
Manakah yang tidak bisa dilakukan oleh interface?
a)
Memiliki metode abstrak
b)
Memiliki variabel final
c)
Memiliki metode default
d)
Memiliki konstruktor
21.
Interface digunakan untuk?
a)
Mendefinisikan kontrak untuk kelas
b)
Menyediakan implementasi default
c)
Memaksa implementasi metode tertentu dalam kelas
d)
Membatasi pewarisan kelas
22.
Abstract class bisa digunakan untuk?
a)
Membuat instance langsung
b)
Menyediakan implementasi default untuk beberapa metode
c)
Menyediakan kontrak untuk kelas turunan
d)
Mengatur aksesibilitas variabel dan metode
23.
Manakah yang benar tentang interface dan abstract class?
a)
Interface bisa memiliki implementasi default
b)
Abstract class bisa diinstansiasi
c)
Abstract class bisa memiliki metode konkret
d)
Interface tidak bisa diimplementasikan oleh kelas lain
24.
Apa yang tidak dapat dilakukan oleh abstract class?
a)
Memiliki variabel
b)
Memiliki konstruktor
c)
Memiliki metode konkret
d)
Diinstansiasi secara langsung
25.
Interface dalam Java digunakan untuk?
a)
Menentukan metode yang harus diimplementasikan
b)
Menentukan variabel yang harus diinisialisasi
c)
Menentukan struktur data yang harus digunakan
d)
Menentukan algoritma yang harus digunakan
26.
Abstract class dalam Java digunakan untuk?
a)
Menentukan metode yang harus diimplementasikan
b)
Menentukan variabel yang harus diinisialisasi
c)
Menyediakan implementasi default untuk beberapa metode
d)
Menentukan algoritma yang harus digunakan
27.
Interface dapat memiliki?
a)
Metode default
b)
Metode statis
c)
Konstruktor
d)
Variabel final
28.
Abstract class dapat memiliki?
a)
Konstruktor
b)
Metode statis
c)
Metode final
d)
Metode abstrak
29.
Apakah yang benar tentang metode dalam interface?
a)
Semua metode harus abstrak
b)
Dapat memiliki metode default
c)
Dapat memiliki metode statis
d)
Semua metode harus publik
30.
Manakah yang benar tentang pewarisan di Java?
a)
Sebuah kelas bisa mengimplementasikan beberapa interface
b)
Sebuah kelas bisa mewarisi beberapa abstract class
c)
Sebuah kelas bisa mewarisi satu abstract class dan mengimplementasikan beberapa interface
d)
Sebuah interface bisa mengimplementasikan kelas lain
31.
Apa yang dimaksud dengan pewarisan (inheritance) dalam OOP?
a)
Penggunaan kembali kode dari kelas lain
b)
Pengisian nilai variabel dalam kelas
c)
Pembungkusan data dalam kelas
d)
Pembuatan instance dari kelas
32.
Manakah yang benar tentang pewarisan?
a)
Kelas anak dapat mewarisi metode dari kelas induk
b)
Kelas anak tidak dapat memiliki metode tambahan
c)
Kelas induk harus memiliki konstruktor default
d)
Kelas anak tidak dapat mengubah metode dari kelas induk
33.
Bagaimana cara mendefinisikan pewarisan dalam Java?
a)
class A extends B
b)
class A implements B
c)
class A inherits B
d)
class A uses B
34.
Manakah yang benar tentang enkapsulasi?
a)
Menyembunyikan implementasi detail dari pengguna
b)
Menyediakan akses langsung ke variabel kelas
c)
Memungkinkan perubahan langsung pada variabel
d)
Mengizinkan penggunaan metode untuk mengakses variabel
35.
Apakah tujuan dari enkapsulasi?
a)
Mengurangi kompleksitas program
b)
Meningkatkan keamanan data
c)
Membuat kode lebih mudah dibaca
d)
Mengizinkan akses langsung ke variabel
36.
Manakah yang bukan manfaat dari pewarisan?
a)
Kode lebih modular
b)
Memungkinkan penggunaan kembali kode
c)
Mempercepat proses pengembangan
d)
Membatasi akses ke variabel
37.
Apakah perbedaan utama antara pewarisan dan enkapsulasi?
a)
Pewarisan mengizinkan penggunaan kembali kode, sementara enkapsulasi melindungi data
b)
Pewarisan melindungi data, sementara enkapsulasi mengizinkan penggunaan kembali kode
c)
Pewarisan mengurangi keamanan data, sementara enkapsulasi meningkatkan kompleksitas
d)
Tidak ada perbedaan
38.
Bagaimana cara mengimplementasikan enkapsulasi dalam Java?
a)
Menggunakan kata kunci public untuk variabel
b)
Menggunakan kata kunci private untuk variabel
c)
Menggunakan kata kunci protected untuk variabel
d)
Menggunakan kata kunci default untuk variabel
39.
Manakah yang benar tentang akses modifier dalam enkapsulasi?
a)
Private membatasi akses hanya dalam kelas itu sendiri
b)
Public membatasi akses hanya dalam paket yang sama
c)
Protected membatasi akses hanya dalam subkelas
d)
Default membatasi akses hanya dalam kelas itu sendiri
40.
Apakah keuntungan dari menggunakan akses modifier dalam OOP?
a)
Mengontrol akses ke data dan metode
b)
Mengurangi jumlah kode
c)
Meningkatkan kinerja aplikasi
d)
Memungkinkan pembuatan instance dari kelas
41.

Apa output dari program di atas?

a)

Animal makes a sound, Dog barks

b)

Dog barks, Animal makes a sound

c)

Animal makes a sound, Animal makes a sound

d)

Dog barks, Dog barks

42.

Apa output dari program di atas?

a)

Drawing Shape

b)

Drawing Circle

c)

Compiler Error

d)

Runtime Error

43.

Apa output dari program di atas?

a)

Car is moving, Bike is moving

b)

Bike is moving, Car is moving

c)

Car is moving, Car is moving

d)

Bike is moving, Bike is moving

44.

Apa output dari program di atas?

a)

Parent class

b)

Child class

c)

Compiler Error

d)

Runtime Error

45.

Apa output dari program di atas?

a)

Base

b)

Derived

c)

AnotherDerived

d)

Compiler Error

46.

apa kode yang tepat agar output seperti ini: "Dog barks"

a)

Animal a = new Dog();

a.makeSound();

b)

Animal a = new Cat();

a.makeSound();

c)

Dog d = new Animal();

d.makeSound();

d)

Cat c = new Animal();

c.makeSound();

47.

apa kode yang tepat untuk menerapkan enkapsulasi pada kelas di atas?

a)

public void setName(String name) { this.name = name; }

public String getName() { return name; }

b)

public void setAge(int age) { this.age = age; }

public int getAge() { return age; }

c)

public String name;

public int age;

d)

public String getName() { return name; }

48.

apa kode yang tepat agar kelas Dog mengimplementasikan interface Animal?

a)

public void eat() { System.out.println("Dog eats"); }

public void sleep() { System.out.println("Dog sleeps"); }

b)

public void eat() { System.out.println("Animal eats"); }

public void sleep() { System.out.println("Animal sleeps"); }

c)

public void run() { System.out.println("Dog runs"); }

d)

public void eat() { System.out.println("Dog eats"); }

49.

apa kode yang tepat agar kelas Car mengimplementasikan metode abstract start?

a)

void start() { System.out.println("Car starts"); }

b)

void start() { System.out.println("Vehicle starts"); }

c)

void stop() { System.out.println("Car stops"); }

d)

void run() { System.out.println("Car runs"); }

50.

apa kode yang tepat agar kelas Child mengoverride metode display?

a)

void display() { System.out.println("Child class"); }

b)

void show() { System.out.println("Child class"); }

c)

void display() { System.out.println("Parent class"); }

d)

void show() { System.out.println("Parent class"); }