자바 (Java)
생성자 오버로딩 (Overloading)
오래걸려도괜찮아
2021. 11. 29. 19:25
생성자 오버로딩(Overloading)이란?!
"클래스 생성자를 여러 개 작성할 수 있다."는 말-하지만 여기서 조건이 있다면
1. 생성자가 가지는 매개 변수의 개수가 다르다.
2. 생성자의 매개 변수가 서로 같을때, 매개 변수의 자료형이 서로 다르면 중복정의 가능
이 말인 즉슨
예를 들어 , 아래처럼
class Animal{
String name;
int age;
}
1.생성자의 매개 변수가 name, age처럼 서로 다르거나
2. 자료형이 String, int처럼 다르거나
class Animal{
String name;
int age;
Animal(){
name="강아지";
age=3;
}
Animal(String _name){
this.name=name;
age=1;
}
void run() {
System.out.println(age+"살 "+name+"가 달린다.");
}
}
public class Ex6 {
public static void main(String[] args) {
Animal puppy1=new Animal();
puppy1.run();
Animal puppy2=new Animal("불독");
puppy2.run();
}
}
예제에서는
Animal() 매개 변수 안에 들어갈
String(문자형) name(매개 변수)
int(정수형) age(매개 변수)
변수 자료형도 다르고 , 매개 변수 이름도 다르고!
그러니까 클래스 내 생성자를 여러개 작성할 수 있다!