[Java] @Override

이준영·2023년 8월 17일
0

🟫 Java

목록 보기
5/21
post-thumbnail

@Override

상속중인 클래스의 메소드를 오버라이딩 하게 되면
intellij 에서는 자동적으로 @Override 어노테이션을 붙여줍니다.

class B extends A{

    @Override 
    public void hi() {
        super.hi();
    }
}

아무생각없이 달고 사용했는데 이 어노테이션의 역할은 무엇일까 궁금하여 정리해 봅니다.


@Override의 역할

@Override는 상위 클래스의 메소드를 오버라이딩 하는 것이 목적이라는 선언입니다.

class Calculator{
	public int add(int a, int b){
    	return a + b;
    }
}
class SmartCal extends Calculator{

    @Override 
    public double add(double a, double b) {
        return a + b;
    }
}

위 상황에서 SmartCal의 add 함수는 전달해야하는 매개변수가 엄연히 다른 오버로딩(Overloading)된 함수입니다.
보통 이런경우 아무런 문제가 없지만, @Override 어노테이션이 있다면 컴파일러가 오류 메세지를 전달해 잘못 되었음을 알려줍니다.

profile
작은 걸음이라도 꾸준히

0개의 댓글