[Java 다형성] 어노테이션과 @Override의 중요성

어노테이션(Annotation)은 코드에 대한 메타데이터를 제공하는 Java의 중요한 기능이며, 특히 @Override는 메소드 오버라이딩의 안전성을 보장합니다.



어노테이션(Annotation)의 개념

사전적 의미: 주석

  • 코드에 대한 메타데이터(데이터를 설명하는 데이터) 제공
  • 컴파일러, JVM, 프레임워크 등이 보는 주석
    • 예로 @Override의 경우 컴파일러에게 해당 메서드는 오버라이딩한 메서드임을 알려줌



@Override 어노테이션

핵심 기능: 오버라이딩 “강제” 효과

class Parent {
    void display() { }
}

class Child extends Parent {
    @Override //반드시 오버라이딩
    void display() { }
}


사용 이점

  • 의도하지 않은 메소드 추가 방지: @Override 가 없다면, 정상적으로 자식 메소드가 1개 생성 됨
  • 실수로 인한 시그니처 불일치 예방: @Override 를 붙이면 부모의 메소드가 변경될 때 자식 메소드에는 오류로 알려 줌
  • 코드의 가독성과 유지보수성 향상


@Override 어노테이션은 코드의 안정성을 높이고 잠재적인 버그를 조기에 발견할 수 있게 해주는 중요한 도구입니다.

댓글남기기