1. Bruegge, B., & Dutoit, A. H. (2010). Object-Oriented Software Engineering: Using UML, Patterns, and Java (3rd ed.). Prentice Hall. In Chapter 2, Section 2.2.2, "Classes and Objects," it is stated: "A class is an abstraction that describes a group of objects with the same properties (attributes), operations (methods), relationships, and semantics." (p. 32).
2. Liskov, B., & Guttag, J. (2008). Program Development in Java: Abstraction, Specification, and Object-Oriented Design. Addison-Wesley. Chapter 5, "Defining Data Abstractions," explains that a class is used to implement a data abstraction, defining a set of objects and the operations on them.
3. MIT OpenCourseWare. (2016). 6.005 Software Construction, Fall 2016. Massachusetts Institute of Technology. Lecture 15, "Abstract Data Types," notes: "A class is a set of objects that share a common structure and a common behavior." Retrieved from https://ocw.mit.edu/courses/6-005-software-construction-fall-2016/resources/lecture-15-abstract-data-types/