UML interfaces are used to:
(a) specify required services for types of objects
(b) program in Java, but not in C++ or Smalltalk
(c) define executable logic to reuse across classes
(d) define an API for all classes
I have been asked this question during an internship interview.
Query is from Unified Modelling Language topic in division Design and Implementation of Software Engineering