data encapsulation and data hiding