An aspect is the cross-cutting functionality that you are executing. It is the aspect of your application you are modularizing. An example of an aspect is logging. Logging is something that is needed throughout an application. Though, because applications tend to be broken down into layers based on functionality, reusing a logging module by inheritance does not make sense. Though, you can create a logging aspect and apply it throughout your application using AOP.