반응형
컴파일러는 메소드의 시그니처를 이용해서 메소드를 구분한다.
메소드 시그니처란 ? 메소드의 이름과 파라미터를 메소드 시그니처라고 한다.
메소드의 리턴 타입은 포함되지 않는다.
아래의 코드는 method1 이라는 이름의 메소드를 오버로딩한 코드들이다.
public void method1() {
}
public void method1(int a) {
}
public void method1(String s) {
}
public void method1(int a, int b) {
}
public int method1(int a, int b) {
// compile error!
}
리턴 타입이 달라도, 이미 같은 시그니처의 메소드가 있기 때문에 컴파일 에러가 나게 된다.
반응형