[문제]
음료 자판기를 만들어보자!
음료 (6개) : 콜라, 사이다, 옥수수수염차, 17차, 몬스터, 포카리스웨트
=============================코드=============================
public class Drink {
// 멤버변수
String name; // 음료 이름
int price; // 음료 가격
public Drink() { } // 기본 생성자
public Drink(String name, int price) {
this.name = name;
this.price = price;
} // 인자 생성자
}
Drink_08 클래스 생성

=============================코드=============================
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("자판기 음료 갯수를 입력하세요 : ");
// 객체 배열 선언 및 객체 배열 메모리 할당
Drink[] drinks = new Drink[sc.nextInt()]; // Drink[] ==> 클래스배열 (객체가 여러개 연속적으로 있는 형태)
for(int i = 0; i < drinks.length; i++) {
System.out.println("음료의 이름과 가격을 입력하세요...");
System.out.println("==========================");
drinks[i] = new Drink(sc.next(), sc.nextInt());
}
System.out.println();
System.out.print("돈을 넣어 주세요 : ");
int coin = sc.nextInt();
/*
* 입력을 받은 coin(돈)과 객체 배열에 저장된 Drink
* 클래스의 멤버변수인 price(음료가격)를 비교해서
* 가격이 작거나 같은 음료를 선택 ==> 반복해서 선택
*/
for(int i = 0; i < drinks.length; i++) {
if(coin >= drinks[i].price) { // drinks[i]에는 0~5개의 주소값이 있음
System.out.print(drinks[i].name + "\t");
}
}
sc.close();
//drinks[0] = new Drink("콜라", 2500); // Drink라는 객체가 생성이 되고 그 안에 name:콜라, price:2500 값이 들어가게 됨
//drinks[1] = new Drink("사이다", 2500);
//drinks[2] = new Drink("옥수수수염차", 2000);
//drinks[3] = new Drink("17차", 1800);
//drinks[4] = new Drink("몬스터", 2300);
//drinks[5] = new Drink("포카리스웨트", 2300);
// 객체 배열의 코드를 풀어서 본다면 아래와 같음
//Drink drink1 = new Drink("콜라", 2500);
//Drink drink2 = new Drink("사이다", 2500);
//Drink drink3 = new Drink("옥수수수염차", 2000);
//Drink drink4 = new Drink("17차", 1800);
//Drink drink5 = new Drink("몬스터", 2300);
//Drink drink6 = new Drink("포카리스웨트", 2300);
//drinks[0] = drink1; drinks[1] = drink2;
//drinks[2] = drink3; drinks[3] = drink4;
//drinks[4] = drink5; drinks[5] = drink6;
}


출처 : https://kadosholy.tistory.com/90
**어려웠던 점
-정수형 배열에서 한 단계 더 생각해야 하는 부분이 어렵게 느껴짐.. 정수형 배열을 완벽히 숙지하는 것이 좋을 것 같음