[Java] @Override 꼭 적어야 하나?
·
개발/JAVA
정해진 인터페이스를 구현하는 경우 인터페이스가 가진 메소드들은 꼭 @Override 를 적어 재정의를 해줘야 한다. 이처럼 Override는 재정의를 위해 덮어쓴다는 표현이다. 그렇다면 구현이 아닌 확장의 경우도 꼭 적어야 할까라는 생각이 든다. extends(확장)의 경우 부모가 가진 메소드를 굳이 재정의 해주지 않아도 사용할 수 있다. 하지만 부모가 가진 메소드를 내 입맛대로 바꾸면서 재정의를 하려고 한다면 @Override를 적어줘야 한다. 아래와 같이 똑같은 코드인데 @Override가 있고 없음에 따라 결과가 달라질 수 있다. class Hi { public void say() { System.out.println("안녕"); } } class Bye extends Hi { public void..