본문 바로가기

@Override는 왜 써야 할까?

민이(MInE) 2025. 6. 24.
반응형

면접 준비를 하며 오버라이딩과 오버로딩의 차이에 대해 한번 더 상기하던 도중, 자바에서 @Override를 왜 쓰는지에 대한 궁금증이 문득 생겼습니다. 이미 알고 계신분도 많겠지만, 저는 지금까지 자바로 코드를 작성할 때 @Override를 거의 사용하지 않았고, 자동으로 작성되는 경우에는 지우기까지 했습니다. 이번글은 짧을 수도 있지만 저처럼 막 지우고 넘어가지 않기를 바라며 작성해봅니다.

 

그럼 @Override는 왜 사용해야 할까요?

 

쉽게 얘기하면 @Override는 컴파일 타임에 오버라이딩이 제대로 이루어졌는지를 확인할 수 있고, 타입 안정성을 부여할 수 있기 때문에 사용합니다.

 

아래 예를 봅시다.

class Parent {
    void greet() {}
}

class Child extends Parent {
    @Override
    void grett() {}
}

 

위 예시에서 @Override를 작성하지 않으면 컴파일 오류가 나지 않지만, 의도한대로 동작하지 않아 문제를 해결하는데 시간을 소모할 수 있습니다.

이 외에도 코드의 가독성을 향상시키고, 유지보수성을 향상시키는 이점도 존재합니다.

 

따라서 @Override는 오버라이딩을 할 때면 필수로 사용해야 한다고 생각하고, 협업을 하고 있다면 더욱 망설일 필요 없이 사용해야 한다고 생각합니다.

반응형

댓글