• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

@Override 는 어떨때 사용하는지 궁금합니다.

20.01.19 12:53 작성 조회수 4.42k

0

Print라는 interface를 implements 할때 @Override라는 어노테이션을 붙이던데요, 이게 왜 붙어야 하는지 어떤 역할을 해주는지가 궁금합니다..

interface를 implement했기 때문에 print 메소드가 오버라이드인것은 알겠는데 굳이 @Override 애노테이션을 왜 붙어야 하는것인지 주로 어떤이유와 상황에서 사용되는지 궁급합니다.

자바스크립트만 공부하고 리액트로 프론트업무를 하다가 스프링부트 개발로 전향하려고 나름 공부를 하고는 있는데 의문이 생기는 부분이 많습니다..ㅜㅜ 앞으로도 질문을 많이드릴것 같아 상황에 대해 주절주절 언급드렸습니다!

답변 1

답변을 작성해보세요.

6

상속받은 메서드를 재정의할 때 메서드 이름이 틀리지 않게 쓰기 위한 어노테이션입니다~

가령 부모 객체에 printerA 라는 메서드가 있고 상속을 받은 객체에서 printerA 를 재정의해서 쓰고 싶을 때 만약 printerAA 라고 오타를 입력하고 만들 수 있습니다.

이 경우 @Override 어노테이션이 붙어 있었다면 부모 객체엔 이런 메서드가 없어 하고 에러를 내 줍니다.

@Override 어노테이션이 붙어 있지 않았다면 상속 받은게 아니고 그냥 새로운 메서드를 만들어 쓴 것이기 때문에 컴파일러는 에러를 내지 않습니다.

결론적으로, 사람의 실수를 막아 주기 위한 어노테이션입니다 ^^