전공 과목 이수2👨‍💻/JAVA(공)

Java | overroading (같은이름함수, 다른 매개변수)

천숭이 2021. 4. 6. 18:26

* overrideing(재정의)와 헷갈리지 말자!

 

메소드의 이름이 같고 매개변수는 다른 경우.

예를 들어서, 매개변수 두 개를 받아서 더하는 작업과, 매개변수 세 개를 더해서 더하는 작업은 매개변수의 개수를 제외하면 유사한 작업을 한다. 

 

package soobin;

class Calculator_overloading {
	int left, right;
	int third=0;
	
	public void setOperands(int left, int right) {
		System.out.println("setOperands(int left, int right)");
		this.left = left;
		this.right=right;
	}
	
	// 함수의 이름은 같지만 매개변수는 다르다
	public void setOperands(int left, int right, int third) {
		System.out.println("setOperands(int left, right, int third)");
		this.left=left;
		this.right = right;
		this.third = third;
		
	}
	
	public void sum() {
		System.out.println(this.left+this.right+this.third);
	}
	
	public void avg2() {
		System.out.println((this.left+this.right)/2);
	}
	public void avg3() {
		System.out.println((this.left+this.right+this.third)/3);
	}
}


public class Overloading {

	public static void main(String[] args) {
		Calculator_overloading c1 = new Calculator_overloading();
		c1.setOperands(10, 20);
		c1.sum();
		c1.avg2();
		c1.setOperands(10, 20, 30);
		c1.sum();
		c1.avg3();
	}

}

출력 :

setOperands(int left, int right)
30
15
setOperands(int left, right, int third)
60
20