It is just my opinion, so don't you attack me. please!
But if this posting has some incorrect informations, you comment about that
Please!!
@Override
public static boolean equals(Object o) {
....
}
<Annotation의 사용 예>
Annotation의 종류 및 처리 시간
· JDK 5부터 등장했으며, 기본적으로 제공하는 Annotaion으로는 @Deprecated, @Override, @SuppressWarnings 등이 있고, 개발자가 정의하여 만들 수 있는 Custom Annotation이 있다.
· Annotation은 compile-time에 처리되거나 run-time에 처리되면서 reflection을 통해 클래스의 구성정보를 확인하여 기능을 수행할 수 있도록 할 수 있다.
· 추가적으로 @Override 메소드의 이름 또는 파라미터가 잘못된 경우, compiler checking을 하면서 잘못 되었음을 경고해준다.
Annotation을 왜 사용하는가?
· 소스코드의 가독성을 높여준다. Annotation을 보고 이 코드가 어떤 수행을 하는지 예측할 수 있다.
· Annotation을 사용하면서 얻을 수 있는 가장 큰 장점은 AOP(Aspect Oriented Programming)을 할 수 있다는 점이다.
AOP가 왜 필요한가?
· Java는 기본적으로 OOP(Object Oriented Programming)의 특성을 가진다.
· 다음 그림은 OOP의 특성을 활용하여 작성된 클래스들의 다이어그램이다.
잘 정의된 역할을 수행한다에 위배되는 것이다.