leg: 4, age: 0, name: null
leg: 2, age: 0, name: null
leg: 2, age: 0, name: 뭐지
leg: 2, age: 3, name: 호랑이
leg: 2, age: 5, name: 타이거
leg: 8, age: 2, name: 타이거
package java3;
public class Animal { //method overload.
//메소드명이 비슷하거나 같을때. 같게하여 인자수만 다르게주어 사용할 수 있게 함.
private int leg = 4;
private int age;
private String name;
public final static int MOUTH = 1;
public Animal() {
/// 생략 가능 - 컴파일러가 생성해 줌
}
public void display(){
System.out.println("leg: " + leg + ", age: " + age + ", name: " + name);
}
public void display(int leg_num){ //method overload. arg의 갯수가 다름. 성립
leg = leg_num;
System.out.println("leg: " + leg + ", age: " + age + ", name: " + name);
}
public void display(String aname){ //type이 다르면 성립함.
name = aname;
System.out.println("leg: " + leg + ", age: " + age + ", name: " + name);
}
public void display(int nai, String aname){ //arg의 갯수가 다름.
age = nai;
name = aname;
System.out.println("leg: " + leg + ", age: " + age + ", name: " + name);
}
public void display(String aname, int nai){ //arg의 순서가 다름.
age = nai;
name = aname;
System.out.println("leg: " + leg + ", age: " + age + ", name: " + name);
}
public void display(int leg_num, int nai){ //arg의 순서가 다름.
age = nai;
leg = leg_num;
System.out.println("leg: " + leg + ", age: " + age + ", name: " + name);
}
//----아래는 전부 에러-------------
/* public void display(int nai, int leg_num){ //인자 순서가 위에 사용된 int, int이기 때문에 불가.
}
public void display(int leg_su){
}
public int display(){ //클래스와 아규먼트가 같기 때문에. 반환값과 상관없이 불가.
return 7;
}
*/
}