Notasi Kelas UML
Kelas mewakili konsep mengemas status (atribut) dan perilaku (operasi). Setiap atribut memiliki tipe. Setiap operasi memiliki tanda tangan. Nama kelas adalah informasi yang diperlukan saja.

Enkapsulasi adalah prinsip penyembunyian data: sebuah objek menyembunyikan data-nya dari akses eksternal dan hanya memungkinkan entitas eksternal untuk memanipulasi data dengan memanggil metode objek tersebut.
Tingkat di mana elemen-elemen kelas dienkapsulasi tergantung pada tingkat visibilitas elemen tersebut. Visibilitas suatu properti atau operasi menentukan apakah objek dari kelas lain dapat ‘melihat’ atau mengakses properti atau operasi tersebut.
UML mendukung empat tingkat visibilitas berikut:
Karakter ~, +, #, dan – yang ditempatkan sebelum nama suatu atribut atau operasi dalam sebuah kelas menunjukkan visibilitasnya:
- Visibilitas Paket (direpresentasikan oleh tilde ~) berarti setiap objek dari kelas dalam paket yang sama dapat melihat dan menggunakan kelas yang diberikan.
- Visibilitas Publik (+) berarti setiap objek dari kelas apa pun dapat menggunakan atribut atau operasi yang diberikan.
- Visibilitas Dilindungi (#) berarti hanya objek dari kelas turunan dari kelas yang diberikan (yaitu, kelas yang lebih rendah dalam hierarki) yang dapat mengakses atribut atau operasi tersebut.
- Visibilitas Pribadi (-) berarti hanya objek dari kelas itu sendiri yang dapat menggunakan atribut atau operasi tersebut.
Gambar berikut menunjukkan modifikasi visibilitas untuk atribut dan operasi contoh:

