생성자 오버로딩 (Overloading)

2021. 11. 29. 19:25자바 (Java)

어릴 적 그 게임 생각나는 이름;;;

 

생성자 오버로딩(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(매개 변수)

 

변수 자료형도 다르고 , 매개 변수 이름도 다르고! 

 

그러니까 클래스 내 생성자를 여러개 작성할 수 있다!