I am studying the programming language Kotlin, and I just came across the idea of a Data Class. I have a background in Java programming where classes can have fields and methods. I have heard programmers calling a class that contains only fields and no methods, as a Value Class. Also, I am familiar with the idea of Structures in C++ which to my knowledge, typically contain only fields.
Question #1: I therefore wondered about classes that contain only methods. Based on my Java background, it seems to me that it would probably be a static utility class containing only static methods. Also, since interfaces in Java 9 can contain default methods, you could have a method-only structure with interfaces. But what is the term that best describes this style of method-only classes?
Question #2: I wondered also about classes that contains both fields and methods. How are these called? Is there a more specific term, other than just Class or Standard Class, in contrast to Value Class and method-only classes.
Remark: I am not looking for terms that are programming language specific, but rather for generally accepted terms that apply across programming languages.
Dyad Class: class that contains both methods and fields.
Action Class: class that contains only methods, and no fields.
Data Class: class that contains only fields, and no methods.