Dalam pemrograman komputer berorientasi objek, array kelas dapat merujuk ke salah satu dari dua jenis struktur data. Beberapa programmer menggunakan istilah tersebut untuk menggambarkan tipe data array standar yang terdiri dari elemen-elemen yang merupakan instance objek dari kelas tertentu. Itu juga bisa menjadi objek yang dienkapsulasi dari array kelas, juga dikenal sebagai objek pembungkus, digunakan sebagai pengganti array skalar untuk membuat berbagai metode tersedia untuk digunakan dalam mengelola array. Meskipun mungkin ada fungsionalitas yang lebih kompleks, kelas array pembungkus benar-benar tidak berbeda dalam konsep daripada objek pembungkus untuk tipe data skalar lain seperti bilangan bulat atau karakter. Dalam kedua kasus, struktur hanya dapat digunakan dalam konteks bahasa pemrograman berorientasi objek yang mendukung kelas.
Definisi pertama dari array kelas mengidentifikasinya sebagai tipe data array standar yang dideklarasikan untuk menampung objek yang diinstansiasi dari satu kelas tertentu. Hal ini biasa dilakukan ketika memegang serangkaian objek, terutama ketika jumlah maksimum objek diketahui sehingga array tidak dideklarasikan dengan jumlah elemen yang berlebihan. Mekanisme polimorfik dalam pemrograman berorientasi objek berarti penggunaan array kelas bisa sangat dinamis, karena dapat menampung superclass generik, memungkinkan berbagai subclass untuk dipegang sebagai elemen meskipun implementasinya bervariasi. Satu komplikasi saat menggunakan array kelas, bagaimanapun, dapat muncul ketika jumlah elemen tidak diketahui dan tumbuh lebih besar dari ukuran array yang ditentukan, atau sangat kecil, meninggalkan ruang memori yang terbuang yang dialokasikan dengan array. Solusinya adalah dengan menggunakan objek tipe koleksi seperti vektor atau daftar array alih-alih array skalar yang tidak dapat diubah ukurannya.
Definisi kedua dari array kelas adalah objek yang berisi array skalar tetapi juga menyediakan sejumlah metode untuk memanipulasi dan mengubah array. Beberapa bahasa menerapkan algoritma pengurutan dan pencarian yang sangat efisien dalam pembungkus array kelas. Keuntungan lain menggunakan array yang diimplementasikan sebagai kelas adalah bahwa kelas dapat dengan mudah dilewatkan dan diubah oleh fungsi dan metode yang berbeda, terutama jika kelas array dasar diturunkan dari kelas objek generik. Array kelas sering menjadi dasar untuk tipe lain dari kelas berbasis array di perpustakaan pemrograman, seperti daftar array atau tabel hash. Selain itu, beberapa bahasa memungkinkan kelas array diperluas, artinya pengguna dapat mendefinisikan kembali beberapa metode dasar dengan implementasi yang lebih khusus sambil mempertahankan fungsionalitas inti kelas.