Question: what is the difference between an abstract data type and a user-defined data type?
Answer: You can declare variables to be of the user-defined type, but with an ADT, you're not supposed to directly manipulate the value(s) stored in it. Only the procedures you set up for it are supposed to do that. What is the advantage of declaring abstract class as a data type in java?