//매개변수를 가변의 갯수로 가져올 수 있다.
void carSpeeds(double ... speeds) {
 for(double v : speeds){
  System.out.println("v=" +v);
 }
} 

carSpeeds(11,100,80,110);

//이 enum 함수와 아래의 클래스는 같다.
enum Fruit{
 APPLE, PEACH, BANANA
}

class Fruit{
 public static final Fruit APPLE = new Fruit();
 public static final Fruit PEACH = new Fruit();
 public static final Fruit BANANA = new Fruit(); 
}

//enum으로 스위치 사용 예시
Fruit type = Fruit.APPLE;
switch(type){
 case APPLE:
      break;
 case PEACH:
      break;
 case BANANA:
      break;
}


//enum으로 생성자 만들기(this를 할 경우 각 생성자의 정보를 출력한다(APPLE, PEACH, BANANA))
enum Fruit{
APPLE, PEACH, BANANA;
 Fruit(){
  System.out.println("Call Constructor"+this);
 }
}


//enum의 생성자에 매개변수 추가
enum Fruit{
APPLE("red"), PEACH("pink"), BANANA("yellow");
 public String color;
 Fruit(String color){
  System.out.println("Call Constructor"+this);
  this.color = color;
 }
}


//enum 생성자 사용 예시
Fruit type = Fruit.APPLE;
switch(type){
 case APPLE:
      System.out.println(Fruit.APPLE.color);
      break;
 case PEACH:
      System.out.println(Fruit.PEACH.color);
      break;
 case BANANA:
      System.out.println(Fruit.BANANA.color);
      break;
}


//enum 에 getColor 추가
enum Fruit{
APPLE("red"), PEACH("pink"), BANANA("yellow");
 public String getColor(){
  return this.color
 }
 private String color;
 Fruit(String color){
  System.out.println("Call Constructor"+this);
  this.color = color;
 }
}


//enum을 for 문에 대입(결과: APPLE, PEACH, BANANA)
for(Fruit f : Fruit.values()){
 System.out.println(f);
}