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);
}
}