a.m(10);
→ a라는 참조변수가 참조하는 인스턴스에 m이라는 메소드를 호출하고 10이라는 숫자를 인자로 전달
호출된 메소드를 찾을 때 참조하게 되는 두 가지 정보
⇒ 메소드의 이름, 메소드의 매개변수 정보
따라서 이 둘 중 하나의 형태가 다른 메소드를 정의하는 것이 가능하다
이름이 달라도되고, 이름이 같아도 매개변수 정보가 다르면 호출할때 다른메소드로 인지되어서 메소드정의 허용됨
class MyHome {
void mySimpleRoom(int n) {...}
void mySimpleRoom(int n1, int n2) {...}
void mySimpleRoom(double d1, double d2) {...}
전달되는 인자에 따라서 호출할 메서드를 각각 달리해서 결정할 수 있다.
이러한 형태의 메소드 정의 허용
예를들어
a.mySimpleRoom(10) 일 경우 void mySimpleRoom(int n) {...} 메소드 호출
a.mySimpleRoom(3, 5) 일 경우 void mySimpleRoom(int n1, int n2) {...} 메소드 호출
a.mySimpleRoom(1.1, 2.2) 일 경우 void mySimpleRoom(double d1, double d2) {...} 메소드 호출