기본적으로 메소드명이 똑같은 메소드, 필드는 사용할 수 없다. 예외적으로 매개변수 타입이 다르거나 개수가 다를 경우 허용하는데 이를 오버로딩이라 한다.
같은 이름의 메소드명을 사용할 수 있다?
⭕(예외적으로 허용한다)
다음과 같은 경우는 오버로딩으로 같은 메소드명을 사용할 수 있다.
public void method1( ){ … }
public void method1(int a){ … }
public void method1(int a, int b){ … }
public void method1(String a){ … }
public void method1(int a, String a){ … }
public void method1(String a, int a){ … }
반환타입이 다른 경우는 오버로딩이 아니며 같은 메소드명을 사용할 수 없다.
신용권, 『혼자공부하는 자』, 한빛미디어(2023)