본문으로 바로가기
반응형

java가 됐든 뭐가 됐든 프로그램을 작성하다보면, 공통된 기능을 여기저기에 이용하는 경우가 생깁니다.

이럴때 유용한 것이 바로 인터페이스나, 추상클래스죠.

추상 클래스에 정의된 추상 메서드를 하위 클래스에서 구현할 때, @Override 어노테이션을 사용하는 것은 필수는 아닙니다. 그러나 @Override 어노테이션을 사용하는 것은 좋은 습관입니다. 왜냐하면 다음과 같은 이유들 때문입니다:

명시성: @Override 어노테이션을 사용하면 해당 메서드가 상위 클래스나 인터페이스의 메서드를 오버라이드한다는 것을 명시적으로 나타냅니다. 이로 인해 코드를 읽는 사람에게 해당 메서드의 의도를 명확하게 전달할 수 있습니다.

컴파일러 검사: @Override 어노테이션을 사용하면, 해당 메서드가 실제로 상위 클래스나 인터페이스의 메서드를 오버라이드하는지 컴파일러가 검사합니다. 만약 오버라이드하는 메서드의 시그니처에 오류가 있거나 상위 클래스에서 해당 메서드가 없으면 컴파일 에러가 발생하게 됩니다. 이로 인해 오류를 빠르게 발견하고 수정할 수 있습니다.

코드 유지보수: 만약 상위 클래스의 메서드 시그니처가 변경되었을 때, @Override 어노테이션을 사용하면 관련된 하위 클래스에서 컴파일 에러가 발생합니다. 따라서 누락된 오버라이드나 잘못된 메서드 시그니처로 인한 버그를 방지할 수 있습니다.

결론적으로, @Override 어노테이션을 사용하지 않아도 코드가 작동하는데는 문제가 없지만, 위의 이유들로 인해 코드의 가독성과 안정성을 높이기 위해 사용하는 것이 좋습니다.

반응형