파라미터의 데이터 형이 서로 다르기 때문에 오버로드 성립
public void foo( int a){}
public void foo( long a){}
파라미터의 개수가 서로 다르기 때문에 오버로드 성립
public void foo( int a ){}
public void foo( int a, int b){}
user(int a)
user(String msg)
데이터형의 전달 순서가 다르기 때문에 오버로드 성립.
public void foo( int a, String b){}
public void foo( String a, int b){}
오버로드 불가!!!!! 앞의 리턴형은 관계없이 호출 파라미터만 신경쓰면된다.
public int foo( int a){}
public String foo( int x){}
package overload;
/*
* 멤버변수 String job, int age 선언
* - 생성자를 기본, int, String, String int 총 4개 생성
* - toString() , override 생성
* Main03
* - 객체를 생성자 가지수에 맞춰 총 4개 생성 및 toString() 각각 출력
*/
public class Member {
private String job;
private int age;
public Member() {}
public Member(int age) { this.age = age; }
public Member(String job) { this.job = job; }
public Member(String job, int age) {
this.job = job;
this.age = age;
}
@Override
public String toString() {
return "Member [job=" + job
+ ", age=" + age + "]";
}
package overload;
import java.util.function.ToDoubleBiFunction;
public class Main03 {
public static void main(String[] args) {
Member m1 = new Member();
System.out.println(m1.toString());
Member m2 = new Member(20);
System.out.println(m2.toString());
Member m3 = new Member("학생");
System.out.println(m3.toString());
Member m4 = new Member("강사", 20);
System.out.println(m4.toString());
}
}