Dalam ilmu komputer, Wrapper adalah setiap entitas yang merangkum (membungkus) item lain. Wrapper digunakan untuk dua tujuan utama yaitu untuk mengonversi data ke format yang kompatibel atau untuk menyembunyikan kompleksitas entitas yang mendasarinya menggunakan abstraction. Contohnya termasuk object wrappers, function wrappers, dan driver wrappers.
1. Object Wrapper
Sebuah Object Wrapper adalah kelas yang merangkum tipe data primitif atau objek lain. Ini dapat digunakan di Java, misalnya, untuk mengonversi char primitif ke class karakter. Dengan mengonversi primitif ke class, developer dapat menggunakan metode, seperti toUpperCase() untuk memodifikasi data. Object Wrapper juga dapat digunakan untuk mengonversi properti legacy class menjadi yang kompatibel dengan kode yang lebih baru.
2. Function Wrapper
Sebuah Function Wrapper merangkum satu atau lebih fungsi. Misalnya, fungsi "kirim email" situs web dapat menggabungkan beberapa fungsi yang memproses data formulir, memeriksa pengiriman untuk spam, dan mengirim pesan menggunakan server email. Function Wrapper juga dapat membungkus satu fungsi untuk memungkinkannya bekerja dengan kode yang lebih baru atau lebih lama. Misalnya, mungkin mengubah atau menambahkan parameter untuk membuat fungsi kompatibel dengan API yang lebih baru.
3. Driver Wrapper
Driver Wrapper memungkinkan driver berfungsi dengan sistem operasi yang tidak kompatibel. Misalnya, kartu grafis yang lebih lama mungkin hanya mendukung driver yang dirancang untuk Windows 7. Jika driver Windows 10 tidak tersedia, Driver Wrapper dapat berfungsi sebagai adaptor, memungkinkan kartu grafis untuk menggunakan driver Windows 7 di Windows 10. Driver Wrapper dapat disediakan oleh original equipment manufacturer (OEM) atau third-party developer.