본문 바로가기

Back-end/Java

[Java] 오버라이딩과 오버로딩이 무엇이며 어떤 차이가 있을까요?

오바라이딩(Overriding)상위 클래스의 메소드를 재정의 하는 것을 의미합니다.

또한, 런타임 다형성이기도 합니다.

 

오버로딩(Overloading)같은 클래스 내에서 동일한 메소드 이름을 가지지만, 매개 변수의 타입, 개수를 다르게 구현할 수 있는 것을 의미합니다.

또한, 컴파일 타임 다형성이기도 합니다. 따라서, 오버라이딩이 될 수 있습니다.

 

추가로 '@Override'를 써야하는 이유를 꼭 생각해보세요.

이 어노테이션은 컴파일 타임에 오버라이딩에 대한 안정성을 부여해주기 때문에 반드시 써주는 것이 좋습니다.