Abstract is a SIDL reserved word. It is an optional modifier for both classes and methods. An abstract method is a method that has no implementation, it's a way of declaring a method that every subclass must implement for itself. An abstract class has one or more abstract methods, and therefore cannot be instantiated.