Software Development/Java

[Java] 생성자 오버로딩(Constructor Overloading)

Mei99 2024. 5. 31. 17:11

오버로딩(Overloading)
한 클래스 내에서 이름이 같아도 매개변수 개수, 타입, 순서를 다르게 하면, 같은 이름으로 여러 개의 함수를 정의할 수 있는 것.

=> 프로그램의 유연성을 높이고, 깔끔한 코드처리할 수 있다. 

 

생성자 오버로딩(Constructor Overloading)

생성자도 메소드와 마찬가지로 매개변수의 수와 타입이 다르다면 여러개의 생성자를 선언할 수 있다.

 

생성자 오버로딩(Constructor Overloading)

Add class(만드는 클래스)

public class Add {
	
	int add(int x, int y){
		return x+y;   // int add 매개변수 2개
    }
	
	double addDouble(double x, double y){
		return x+y;
	}
	
	String addString(String x, String y){
		return x +  ", " +y;
	}
	
	int add(int x, int y, int z){
		return x+y+z;    // int add 매개변수3개 -> 오버로딩
	}
}

 

 

AddMain Class(사용하는 클래스)

public class AddMain {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		Add add1 = new Add();
		int result = add1.add(3, 4);
		System.out.println(result);
		
		double result2 = add1.addDouble(3.9, 2.88);
		System.out.println(result2);
		
		String result3 = add1.addString("hi", "bye");
		System.out.println(result3);
		
		add1.add(3,  7, 20);
		
		System.out.println();
	}
}