The component specified with aspect tag is taken out from a container at the time of initialization of a container.
Therefore, even if the instance attribute of the component specified with the aspect tag is "prototype",
a new instance is not created whenever an aspected method is called.
If the class of a component implements abstract method, all the abstract method is applicable
If the class of a component does not implement abstract method, all the public method implemented in the class is applicable.
An aspect is applicable only to a public method.
An aspect is inapplicable to an staic method.
An aspect is inapplicable to final class and final method.
An aspect cannot be applied when method name starts with underbar "_".
An aspect cannot be applied when the Array which has a value in the default value of a method argument is set up.
( public function hoge($a = array('year' => 2007)) , etc)