Object-oriented programming languages place data and "functions" that change data into a single unit. This unit is called an "object". Objects can interact with each other and change another object's data. This is usually called encapsulation or information hiding. Most modern programming languages are object-oriented, or at least allow this style of programming. Examples of this are Java, Python, Ruby, C++, C# and other C languages.