Computer >> 컴퓨터 >  >> 프로그래밍 >> Java

Java @Override 어노테이션의 역할과 중요성

@Override 어노테이션은 Java에서 기본적으로 제공되는 어노테이션 중 하나로, Java 1.5 버전부터 도입되었습니다. 이 어노테이션은 자식 클래스의 메서드가 부모(기반) 클래스의 메서드를 재정의(오버라이딩)하고 있음을 컴파일러와 개발자에게 명확하게 알려주는 역할을 합니다.

@Override 어노테이션을 사용해야 하는 두 가지 이유

  • 컴파일 시점 오류 검증: 어노테이션이 붙은 메서드가 실제로 부모 클래스의 메서드를 오버라이딩하지 않는 경우, 컴파일러가 경고나 오류를 발생시켜 실수를 조기에 잡아줍니다.
  • 코드 가독성 향상: 해당 메서드가 의도적으로 재정의된 것임을 코드만 보고도 바로 알 수 있어 소스 코드의 가독성과 유지보수성이 크게 좋아집니다.

문법

public @interface Override

예제 코드

아래 예제는 부모 클래스의 display() 메서드를 자식 클래스에서 @Override 어노테이션과 함께 재정의하는 모습을 보여줍니다.

class BaseClass {
    public void display() {
        System.out.println("In the base class, test() method");
    }
}

class ChildClass extends BaseClass {
    @Override
    public void display() {
        System.out.println("In the child class, test() method");
    }
}

// 메인 클래스
public class OverrideAnnotationTest {
    public static void main(String args[]) {
        System.out.println("@Override Example");
        BaseClass test = new ChildClass();
        test.display();
    }
}

실행 결과

@Override Example
In the child class, test() method

정리

@Override 어노테이션은 선택 사항이지만, 사용하는 것이 강력히 권장됩니다. 특히 메서드 이름을 오타 내거나 매개변수 타입을 잘못 지정하여 의도치 않게 오버로딩이 되어버리는 실수를 방지할 수 있습니다. 다형성을 활용하는 객체지향 코드에서 안전성과 명확성을 높여주는 필수적인 습관이라 할 수 있습니다.