오버라이딩과 오버로딩
Jul 28, 2023
»
oop
오버라이딩(Overriding)
서브 클래스 혹은 구현 클래스에서 슈퍼 클래스 또는 인터페이스에 정의된 메서드를 재정의하는 것을 말한다. 오버라이딩을 하기 위해서는 메서드 이름, 파라미터 개수, 파라미터 타입, 리턴 타입이 같아야 한다.
오버로딩(Overloading)
한 클래스 내에 같은 이름의 메서드를 여러 개 정의하는 것을 말한다. 오버로딩을 하기 위해서는 메서드 이름은 같아야 하며, 파라미터 개수 또는 파라미터 타입이 달라야 한다.
오버라이딩을 할 때 반드시 @Override 어노테이션을 붙여야 하는가?
아니다. 하지만 의도를 명확하게 하고 실수를 줄이기 위하여 붙이는 것이 좋다. @Override 어노테이션을 붙이면 컴파일러가 메서드의 시그니처를 확인하고 정확히 일치하는지 확인하며 일치하지 않으면 컴파일 에러를 발생시킨다. 따라서 만약 오버라이드를 하려는 의도로 메서드를 작성할 경우 @Override 어노테이션을 붙이면 실수를 줄일 수 있다.