The Debugging Chronicles : "코드의 미학"

오버로딩 : 함수명 중복정의 허용 본문

JAVA/자바 수업 내용

오버로딩 : 함수명 중복정의 허용

sweetseonah1004 2024. 7. 29. 16:27
package class01;

class Product {
	int num; //PK
	String name;
	int cnt;
	int price;
	
	//생성자 오버로딩
	Product(int num, String name){
		this.num = num; // 시스템에서 부여하는 값 ->외부에서 가져와야함 
		this.name = name; //상품명
		this.cnt = 0; //재고;
		this.price = 0; //가격;
	}
	Product(int num, String name,int cnt, int price){
		this.num = num; // 시스템에서 부여하는 값 ->외부에서 가져와야함 
		this.name = name; //상품명
		this.cnt = cnt; //재고;
		this.price = price; //가격;
	}
}

public class Test01 {
	// 자동으로 매칭 된다
	// 함수 오버로딩
	// 매서드 시그니쳐가 다르다면
	// 같은 함수명을 사용해도 이를 허용한다는 특징
	// 함수명 중복정의 적용
	// 비슷하거나 유사하거나 같은 기능일 때에 사용
	public static int plus (int a, int b) {
		System.out.println("1");
		return a+b;
	}
	public static int plus(int a, int b, int c) {
		System.out.println("2");
		return a+b+c;
	}
	public static double plus(double a, double b) {
		System.out.println("3");
		return a+b;
	}
	public static double plus (double a, double b,double c) {
		System.out.println("4");
		return a + b +c;
	}
	
	public static void main(String[] args) {
		
		int num1 =10;
		int num2= 20;
		int num3 = 30;
		

		int result = plus(num2+num3);
		// println()이라는 함수가 '오버로딩'되어있기 때문!
		System.out.println(10);
		System.out.println(3.14);

		Product p1 = new Product(1001,"운동화");
		Product p2 = new Product(1002,"우산",10,4000);
		
	}
}