2024. 3. 14. 20:39, ๐ฑAndroid Study
๋ฐ์ํ
โ Lv 0
- ๊ณผ์ ์์ ์ ์ด๋ป๊ฒ ํค์ค์คํฌ๋ฅผ ๊ตฌํํ ๊ฒ์ธ์ง ์๊ฐ
- ์๊ตฌ ์ฌํญ๋ณ๋ก ์์ธ ๊ธฐ๋ฅ์ ์๊ฐ
- ์ฌ์ฉํ๋ฉด์ ๋ฐ์ํ ์ ์๋ ์์ธ ์ฌํญ๋ค์ ๊ณ ๋ ค
โ Lv 1 (์กฐ๊ฑด, ๋ฐ๋ณต๋ฌธ / if, when, for, while)
- ํ๋ก๊ทธ๋จ์ ์คํํ๋ฉด ๋ฉ๋ดํ์ ๋ฒํธ๋ค์ ๋ณด์ฌ์ค (๋๋ถ๋ฅ์ ๋ฉ๋ด๋ฅผ ๋ณด์ฌ์ค)
- ๋๋ถ๋ฅ ๋ฉ๋ด์ ํด๋นํ๋ ์ซ์๋ฅผ ์ ๋ ฅํ๋ฉด ์ ํํ๋ฉด ์ธ๋ถ ๋ฉ๋ด๋ค์ ๋ณด์ฌ์ค
- ๋ฐ๋ณต๋ฌธ์ ์ด์ฉํด์ ๋ฉ๋ด ์ ํํ ์ ์๊ฒ ์ ์ง
- ๋๋ถ๋ฅ ๋ฉ๋ด์์, 0๋ฒ์ด ์ ๋ ฅ๋๋ฉด ํ๋ก๊ทธ๋จ์ ์ข ๋ฃ
Trouble Shooting
- ๋๋ถ๋ฅ์ ์ซ์๋ฅผ ์ ๋ ฅํ๋ฉด ์ธ๋ถ ๋ฉ๋ด๋ฅผ ๋ณด์ฌ์ฃผ๊ณ , ๋๋ถ๋ฅ ๋ฉ๋ด์์ 0์ ์ ๋ ฅํ๋ฉด ํ๋ก๊ทธ๋จ์ ์ข ๋ฃ์ํค๋๋ก ๊ตฌํํ๋ค.
- ๊ทธ๋ฌ๋ ์์ ์์งค๊ณผ ๊ฐ์ด ์๋ถ๋ฅ๋ฅผ ์ฌ๋ฌ๋ฒ ๋ค์ด๊ฐ๋ค ๋์ค๋ฉด, 0์ ์ฌ๋ฌ๋ฒ ์ ๋ ฅํด์ผ Exit๊ฐ ๋๋ ๋ฌธ์ ๊ฐ ์์๋ค.
- 0์ ๋๋ ์ ๋์ break๊ฐ while(true)๋ฅผ ๋น ์ ธ๋์ค์ง๋ง, ์ฌ์ ํ fun main()์์ ์กด์ฌํ์ฌ ๊ทธ๋ฐ ๊ฒ์ธ๊ฐ?
- ๋ง์๋ค. break๋ฅผ ํด๋ดค์ while์ ๋น ์ ธ๋์ fun main()์ ์ฒ์์ผ๋ก ๊ฐ๊ฒ๋๋ ๊ทธ๋ฐ ๊ฒ ๊ฐ์๋ค.
- ๋ฐ์ ์๋ while(true)๋ฅผ ์์ ์์ ๋ฒ๋ฆฌ๊ณ , else์ ๊ฒฝ์ฐ when ๋ด์์ main()์ ๋ค์ ๋ถ๋ฌ์ค๋๋ก ์์ ํ๋ค.
๋๋ณด๊ธฐ
๊ตฌํํ ์ฝ๋
main.kt
package com.limheejin.kiosk
fun main() {
// ๋๋ถ๋ฅ ๋ฉ๋ดํ ๋ฐ๋ณต
println(
"""์๋ ๋ฉ๋ดํ์ ๋ณด์๊ณ ๋ฉ๋ด๋ฅผ ๊ณจ๋ผ ์
๋ ฅํด์ฃผ์ธ์.
|[ SHAKESHACK MENU ]
|1. Burgers | ์ต๊ฑฐ์ค ๋นํ ํต์ด์ ๋ค์ ธ๋ง๋ ๋ฒ๊ฑฐ
|2. Forzen Custard | ๋งค์ฅ์์ ์ ์ ํ๊ฒ ๋ง๋๋ ์์ด์คํฌ๋ฆผ
|3. Drinks | ๋งค์ฅ์์ ์ง์ ๋ง๋๋ ์๋ฃ
|4. Beer | ๋ด์ ๋ธ๋ฃจํด๋ฆฐ ๋ธ๋ฃจ์ด๋ฆฌ์์ ์์กฐํ ๋งฅ์ฃผ
|0. ์ข
๋ฃ | ํ๋ก๊ทธ๋จ ์ข
๋ฃ
""".trimMargin()
)
var menuSelect = readLine()!!.toInt()
when (menuSelect) {
1 -> Burgers2()
2 -> FrozenCustard2()
3 -> Drinks2()
4 -> Beer2()
0 -> println("ํ๋ก๊ทธ๋จ์ ์ข
๋ฃํฉ๋๋ค.")
else -> {
println("์๋ชป๋ ์
๋ ฅ์
๋๋ค. ๋ค์ ์๋ํ์ธ์.")
main()
}
}
}
// ๋ฒ๊ฑฐ ๋ฉ๋ดํ ์ถ๋ ฅ
fun Burgers2() {
println("""
[ Burgers MENU ]
1. ShackBurger | W 6.9 | ํ ๋งํ , ์์์ถ, ์์์ค๊ฐ ํ ํ๋ ์น์ฆ๋ฒ๊ฑฐ
2. SmokeShack | W 8.9 | ๋ฒ ์ด์ปจ, ์ฒด๋ฆฌ ํํผ์ ์์์ค๊ฐ ํ ํ๋ ์น์ฆ๋ฒ๊ฑฐ
3. Shroom Burger | W 9.4 | ๋ชฌ์คํฐ ์น์ฆ์ ์ฒด๋ค ์น์ฆ๋ก ์์ ์ฑ์ด ๋ฒ ์งํ
๋ฆฌ์ ๋ฒ๊ฑฐ
4. Cheeseburger | W 6.9 | ํฌํ
์ดํ ๋ฒ๊ณผ ๋นํํจํฐ, ์น์ฆ๊ฐ ํ ํ๋ ์น์ฆ๋ฒ๊ฑฐ
5. Hamburger | W 5.4 | ๋นํํจํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ผ์ฑ๊ฐ ๋ค์ด๊ฐ ๊ธฐ๋ณธ๋ฒ๊ฑฐ
0. ๋ค๋ก๊ฐ๊ธฐ | ๋ค๋ก๊ฐ๊ธฐ
""".trimMargin())
var burgerSelect = readLine()!!.toInt()
when(burgerSelect){
0 -> main()
}
}
// ์์ด์คํฌ๋ฆผ ๋ฉ๋ดํ ์ถ๋ ฅ
fun FrozenCustard2() {
println("""
[ Frozen Custard MENU ]
1. Caramel Cashew | W 4.5 | ์นด๋ผ๋ฉ ๋ง์ ์บ์๋์ด ์ผํ์ธ ์์ด์คํฌ๋ฆผ
2. Pistachio | W 4.5 | ํผ์คํ์น์ค ํฅ๊ณผ ์๊ฐ์ด ๋๋ ์์ด์คํฌ๋ฆผ
3. Banana Pecan | W 4.5 | ๋ฐ๋๋ ํผ์นธ๋ง์ด ๋๋ ์์ด์คํฌ๋ฆผ
4. Oreo Almond | W 5.5 | ์ค๋ ์ค์ ์ด์ฝ ์๋ชฌ๋ ๋ง์ด ํฉ์ณ์ง ์์ด์คํฌ๋ฆผ
5. Mint Chocolate | W 4.5 | ๋ฏผํธ ์ด์ฝ ๋ง์ด ๋๋ ์์ด์คํฌ๋ฆผ
0. ๋ค๋ก๊ฐ๊ธฐ | ๋ค๋ก๊ฐ๊ธฐ
""".trimMargin())
var frozenSelect = readLine()!!.toInt()
when(frozenSelect){
0 -> main()
}
}
// ์๋ฃ ๋ฉ๋ดํ ์ถ๋ ฅ
fun Drinks2() {
println("""
[ Drinks MENU ]
1. Milk Shake | W 7.2 | ์์ด์คํฌ๋ฆผ์ ๊ฐ์ ๋ง์ค ์ ์๋ ์๋ฃ
2. Coconut Water | W 7.9 | ์ฝ์ฝ๋ ์์ ๋ ํฌ๋ช
ํ ์ก์ฒด ์๋ฃ
3. Mocktail | W 9.4 | ๊ฐ๋ณ๊ฒ ๋ง์๊ธฐ ์ข์ ๋ฌด์์ฝ ์นตํ
์ผ
4. Tonic Water | W 4.0 | ํ์ฐ์์ ํด๋์ ๋
น์ฌ ๋ง๋ ์๋ฃ
5. Juice | W 5.0 | ์์พํ ๊ณผ์ผ์ ๊ฐ์๋ฃ์ ์๊ณผ์ผ์ฃผ์ค
0. ๋ค๋ก๊ฐ๊ธฐ | ๋ค๋ก๊ฐ๊ธฐ
""".trimMargin())
var drinkSelect = readLine()!!.toInt()
when(drinkSelect){
0 -> main()
}
}
// ๋งฅ์ฃผ ๋ฉ๋ดํ ์ถ๋ ฅ
fun Beer2() {
println("""
[ Beer MENU ]
1. Pilsner Urquell | W 9.9 | ์ฒด์ฝ์ฐ ์ฌ์ธ ํ์ ์์ธํ ๋ง์ด ํน์ง
2. Budweiser | W 9.5 | ๋ถ๋ฏธ ์คํ์ผ์ ๋ผ๊ฑฐ ๋งฅ์ฃผ
3. Stella Artois | W 9.4 | ์ฒด์ฝ์ ํ์ค๋ ๋งฅ์ฃผ
4. Heineken | W 8.0 | ๋ค๋๋๋์ฐ์ ๋ฌ๋ฌํ ๊ณก๋ฌผ ํฅ๊ณผ ์
์ ์ด๋ง
5. Cass | W 7.0 | ๋น์ ์ด ํ๊ตญ์ธ์ด๋ผ๋ฉด ์ด ๋งฅ์ฃผ๋ฅผ ์ข์ํ ์ ์์
0. ๋ค๋ก๊ฐ๊ธฐ | ๋ค๋ก๊ฐ๊ธฐ
""".trimMargin())
var beerSelect = readLine()!!.toInt()
when(beerSelect){
0 -> main()
}
}
ํผ๋๋ฐฑ
- kotlin์์๋ null safety๋ฅผ ๋ฌด์ํ๋ !!๋ ์ง์ํด์ผํ๋ค.
readLine()!!.toInt() ๋์ readLine().toIntOrNull ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ์ถ์ฒํ๋ค. - CamelCase ์ ์: ํจ์์ ์ฒซ ์์์ ์๋ฌธ์๋ก ์์ํด์ผํ๋ค. fun FrozenCustard2() > fun frozenCustard2()
- ์์ ๊ฐ๋ ๋ ๋ฐฐ์๋ณด๊ธฐ
โ Lv 2 (๋ฉ์๋, ํด๋์ค / fun, class)
- ํ์ํ ํด๋์ค๋ค์ ์ค๊ณ (๋ฒ๊ฑฐ, ์์ด์คํฌ๋ฆผ, ์๋ฃ, ๋งฅ์ฃผ, ์ฃผ๋ฌธ, ๊ณตํต ๋ฑ)
- ํด๋์ค๋ค์ ํ๋กํผํฐ์ ๋ฉ์๋๋ฅผ ์ ์ (ํด๋์ค ๋ค์ด์ด๊ทธ๋จ ๊ทธ๋ฆฌ๊ธฐ)
- Lv1์์ ์์ฑํ ๋ก์ง์ ๋ฉ์๋๋ก ๋ง๋ฆ
๋๋ณด๊ธฐ
package com.limheejin.kiosk
fun main() {
// ๋๋ถ๋ฅ ๋ฉ๋ดํ ๋ฐ๋ณต
println(
"""์๋ ๋ฉ๋ดํ์ ๋ณด์๊ณ ๋ฉ๋ด๋ฅผ ๊ณจ๋ผ ์
๋ ฅํด์ฃผ์ธ์.
|[ SHAKESHACK MENU ]
|1. Burgers | ์ต๊ฑฐ์ค ๋นํ ํต์ด์ ๋ค์ ธ๋ง๋ ๋ฒ๊ฑฐ
|2. Forzen Custard | ๋งค์ฅ์์ ์ ์ ํ๊ฒ ๋ง๋๋ ์์ด์คํฌ๋ฆผ
|3. Drinks | ๋งค์ฅ์์ ์ง์ ๋ง๋๋ ์๋ฃ
|4. Beer | ๋ด์ ๋ธ๋ฃจํด๋ฆฐ ๋ธ๋ฃจ์ด๋ฆฌ์์ ์์กฐํ ๋งฅ์ฃผ
|0. ์ข
๋ฃ | ํ๋ก๊ทธ๋จ ์ข
๋ฃ
""".trimMargin()
)
var menuSelect = readLine()!!.toInt()
when (menuSelect) {
1 -> burgers2()
2 -> frozenCustard2()
3 -> drinks2()
4 -> beer2()
0 -> println("ํ๋ก๊ทธ๋จ์ ์ข
๋ฃํฉ๋๋ค.")
else -> {
println("์๋ชป๋ ์
๋ ฅ์
๋๋ค. ๋ค์ ์๋ํ์ธ์.")
main()
}
}
}
// ๋ฒ๊ฑฐ ๋ฉ๋ดํ ์ถ๋ ฅ
fun burgers2() {
var shackBurger = Food("ShackBurger", 6.9, "burger", "ํ ๋งํ , ์์์ถ, ์์์ค๊ฐ ํ ํ๋ ์น์ฆ๋ฒ๊ฑฐ")
println("""
[ Burgers MENU ]
1. ShackBurger | W 6.9 | ํ ๋งํ , ์์์ถ, ์์์ค๊ฐ ํ ํ๋ ์น์ฆ๋ฒ๊ฑฐ
2. SmokeShack | W 8.9 | ๋ฒ ์ด์ปจ, ์ฒด๋ฆฌ ํํผ์ ์์์ค๊ฐ ํ ํ๋ ์น์ฆ๋ฒ๊ฑฐ
3. Shroom Burger | W 9.4 | ๋ชฌ์คํฐ ์น์ฆ์ ์ฒด๋ค ์น์ฆ๋ก ์์ ์ฑ์ด ๋ฒ ์งํ
๋ฆฌ์ ๋ฒ๊ฑฐ
4. Cheeseburger | W 6.9 | ํฌํ
์ดํ ๋ฒ๊ณผ ๋นํํจํฐ, ์น์ฆ๊ฐ ํ ํ๋ ์น์ฆ๋ฒ๊ฑฐ
5. Hamburger | W 5.4 | ๋นํํจํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ผ์ฑ๊ฐ ๋ค์ด๊ฐ ๊ธฐ๋ณธ๋ฒ๊ฑฐ
0. ๋ค๋ก๊ฐ๊ธฐ | ๋ค๋ก๊ฐ๊ธฐ
""".trimMargin())
var burgerSelect = readLine()!!.toInt()
when(burgerSelect){
0 -> main()
1 -> shackBurger.displayInfo()
}
}
// ์์ด์คํฌ๋ฆผ ๋ฉ๋ดํ ์ถ๋ ฅ
fun frozenCustard2() {
println("""
[ Frozen Custard MENU ]
1. Caramel Cashew | W 4.5 | ์นด๋ผ๋ฉ ๋ง์ ์บ์๋์ด ์ผํ์ธ ์์ด์คํฌ๋ฆผ
2. Pistachio | W 4.5 | ํผ์คํ์น์ค ํฅ๊ณผ ์๊ฐ์ด ๋๋ ์์ด์คํฌ๋ฆผ
3. Banana Pecan | W 4.5 | ๋ฐ๋๋ ํผ์นธ๋ง์ด ๋๋ ์์ด์คํฌ๋ฆผ
4. Oreo Almond | W 5.5 | ์ค๋ ์ค์ ์ด์ฝ ์๋ชฌ๋ ๋ง์ด ํฉ์ณ์ง ์์ด์คํฌ๋ฆผ
5. Mint Chocolate | W 4.5 | ๋ฏผํธ ์ด์ฝ ๋ง์ด ๋๋ ์์ด์คํฌ๋ฆผ
0. ๋ค๋ก๊ฐ๊ธฐ | ๋ค๋ก๊ฐ๊ธฐ
""".trimMargin())
var frozenSelect = readLine()!!.toInt()
when(frozenSelect){
0 -> main()
}
}
// ์๋ฃ ๋ฉ๋ดํ ์ถ๋ ฅ
fun drinks2() {
println("""
[ Drinks MENU ]
1. Milk Shake | W 7.2 | ์์ด์คํฌ๋ฆผ์ ๊ฐ์ ๋ง์ค ์ ์๋ ์๋ฃ
2. Coconut Water | W 7.9 | ์ฝ์ฝ๋ ์์ ๋ ํฌ๋ช
ํ ์ก์ฒด ์๋ฃ
3. Mocktail | W 9.4 | ๊ฐ๋ณ๊ฒ ๋ง์๊ธฐ ์ข์ ๋ฌด์์ฝ ์นตํ
์ผ
4. Tonic Water | W 4.0 | ํ์ฐ์์ ํด๋์ ๋
น์ฌ ๋ง๋ ์๋ฃ
5. Juice | W 5.0 | ์์พํ ๊ณผ์ผ์ ๊ฐ์๋ฃ์ ์๊ณผ์ผ์ฃผ์ค
0. ๋ค๋ก๊ฐ๊ธฐ | ๋ค๋ก๊ฐ๊ธฐ
""".trimMargin())
var drinkSelect = readLine()!!.toInt()
when(drinkSelect){
0 -> main()
}
}
// ๋งฅ์ฃผ ๋ฉ๋ดํ ์ถ๋ ฅ
fun beer2() {
println("""
[ Beer MENU ]
1. Pilsner Urquell | W 9.9 | ์ฒด์ฝ์ฐ ์ฌ์ธ ํ์ ์์ธํ ๋ง์ด ํน์ง
2. Budweiser | W 9.5 | ๋ถ๋ฏธ ์คํ์ผ์ ๋ผ๊ฑฐ ๋งฅ์ฃผ
3. Stella Artois | W 9.4 | ์ฒด์ฝ์ ํ์ค๋ ๋งฅ์ฃผ
4. Heineken | W 8.0 | ๋ค๋๋๋์ฐ์ ๋ฌ๋ฌํ ๊ณก๋ฌผ ํฅ๊ณผ ์
์ ์ด๋ง
5. Cass | W 7.0 | ๋น์ ์ด ํ๊ตญ์ธ์ด๋ผ๋ฉด ์ด ๋งฅ์ฃผ๋ฅผ ์ข์ํ ์ ์์
0. ๋ค๋ก๊ฐ๊ธฐ | ๋ค๋ก๊ฐ๊ธฐ
""".trimMargin())
var beerSelect = readLine()!!.toInt()
when(beerSelect){
0 -> main()
}
}
Food.kt
package com.limheejin.kiosk
class Food(name: String, price: Double, category: String, description: String) {
var name: String
var price: Double
var category: String
var description: String
init{
this.name = name
this.price = price
this.category = category
this.description = description
// (๊ฐ๋
์ฑ) ์์ฑ์์ ๋งค๊ฐ๋ณ์์ ํด๋์ค์ ๋ฉค๋ฒ ๋ณ์์ ์ด๋ฆ์ด ๋์ผํ๊ธฐ ๋๋ฌธ์ this ํค์๋๋ฅผ ์ฌ์ฉํ์ฌ ํด๋์ค์ ๋ฉค๋ฒ ๋ณ์๋ฅผ ์ฐธ์กฐ
}
fun displayInfo() {
println("์นดํ
๊ณ ๋ฆฌ: $category, ๊ฐ๊ฒฉ: $price, ์ด๋ฆ: $name, ์ค๋ช
: [$description]")
}
}
โ Lv 3 (์์, ์ปฌ๋ ์ / open, list)
- Lv2 ์์ ์ค๊ณํ ํด๋์ค๋ค์ ์์ ๊ด๊ณ๋ฅผ ๊ฐ์ง๋๋ก ๋ณ๊ฒฝ
- Burger๋ ๋ถ๋ชจ ํด๋์ค๋ฅผ ๊ฐ์ง ์ ์์์ง ๊ณ ๋ฏผ
- ์๋ฅผ ๋ค์ด ShackBurger๋ Burger์ ์์์ด๊ณ , Burger๋ Food์ ์์์ผ์๋ ์์
- ํ๋์ ๋ฆฌ์คํธ ๊ฐ์ฒด๋ก ๋ชจ๋ ๋ฉ๋ด๋ค์ ๊ด๋ฆฌํ๋๋ก ์์ (List)
- ํ๋ก๊ทธ๋จ์ ์คํํ๋ฉด ๋ฉ์ธ์์ init ๋ฉ์๋๋ฅผ ์คํํ์ฌ ๋ฉ๋ด๋ค์ ๊ฐ์ฒดํํ๊ณ ๋ฆฌ์คํธ์ ๋ด์๋
๋๋ณด๊ธฐ
1. Menu.kt ์์ฑ
Menu.kt
package com.limheejin.kiosk
open class Menu(name: String, description: String) {
var name: String
var description: String
init{
this.name = name
this.description = description
}
open fun displayInfo() {
println("์ด๋ฆ: $name, ์ค๋ช
: [$description]")
}
}
2. ๊ธฐ์กด Food.kt์ Menu๋ฅผ ์์ํ๊ณ ์ฝ๋์ผ๋ถ๋ถ ์์
package com.limheejin.kiosk
class Food(name: String, price: Double, category: String, description: String): Menu(name, description){
// name๊ณผ description์ Menu๋ก๋ถํฐ ์์๋ฐ์ผ๋ฏ๋ก ๋ฐ๋ก ์ ์ธํ ํ์ X
var price: Double
var category: String
init{
this.price = price
this.category = category
// (๊ฐ๋
์ฑ) ์์ฑ์์ ๋งค๊ฐ๋ณ์์ ํด๋์ค์ ๋ฉค๋ฒ ๋ณ์์ ์ด๋ฆ์ด ๋์ผํ๊ธฐ ๋๋ฌธ์ this ํค์๋๋ฅผ ์ฌ์ฉํ์ฌ ํด๋์ค์ ๋ฉค๋ฒ ๋ณ์๋ฅผ ์ฐธ์กฐ
}
override fun displayInfo() { // ์ค๋ฒ๋ผ์ด๋ ํด์ผ ๊ฐ์ displayInfo() ์ฌ์ฉ ๊ฐ๋ฅ
println("์นดํ
๊ณ ๋ฆฌ: $category, ๊ฐ๊ฒฉ: $price, ์ด๋ฆ: $name, ์ค๋ช
: [$description]")
}
}
3. ๋ฉ์ธ ์กํฐ๋นํฐ์ ๋์ ์ค์ ํ๊ณ ๋ฉ๋ด, ์์ ๋ชฉ๋ก์ ๋ฃ๋ init()์ ๋ง๋ค์ด ํธ์ถ / ๋ฆฌ์คํธ์ ๊ฐ ๋ฃ์
kiosk.kt
package com.limheejin.kiosk
// menus์ foods ๋ถ๋ณ ๋ฆฌ์คํธ ์์ฑ, money ๊ฐ๋ณ ์ ์ธ
val menus: MutableList<Menu> = ArrayList()
val foods: MutableList<Food> = ArrayList()
var money: Double = 0.0
fun init() {
// ์๋๋ผ๋ฉด ์๋ฒ์์ ๋ฆฌ์คํธ ๋ฐ์์์ ๋ฐ๋ณต๋ฌธ ๋๋ ค์ add ํ์ค์ด๋ฉด ๋๋ ์์
์ธ๋ฐ, ์๋ฒ ์ฐ๋ ์ ํด์ ์ผ์ผํ ์์
money = 100.0
menus.add(Menu("Burgers", "์ต๊ฑฐ์ค ๋นํ ํต์ด์ ๋ค์ ธ๋ง๋ ๋ฒ๊ฑฐ"))
menus.add(Menu("Frozen Custard", "๋งค์ฅ์์ ์ ์ ํ๊ฒ ๋ง๋๋ ์์ด์คํฌ๋ฆผ"))
menus.add(Menu("Drinks", "๋งค์ฅ์์ ์ง์ ๋ง๋๋ ์๋ฃ"))
menus.add(Menu("Beer", "๋ด์ ๋ธ๋ฃจํด๋ฆฐ ๋ธ๋ฃจ์ด๋ฆฌ์์ ์์กฐํ ๋งฅ์ฃผ"))
foods.add(Food("ShackBurger", 6.9, "burger", "ํ ๋งํ , ์์์ถ, ์์์ค๊ฐ ํ ํ๋ ์น์ฆ๋ฒ๊ฑฐ"))
foods.add(Food("SmokeShack", 8.9, "burger", "๋ฒ ์ด์ปจ, ์ฒด๋ฆฌ ํํผ์ ์์์ค๊ฐ ํ ํ๋ ์น์ฆ๋ฒ๊ฑฐ"))
...
}
fun main() {
init() // ์ฒ์์ init ํธ์ถ. ํ๋ก๊ทธ๋จ ์คํํ ๋ ํ๋ฒ๊ฑฐ๋ ์๋ฃ์๋ ๊ฐ์ฒด๋ฅผ ๋ง๋ค์ด๋์ผ ๊ทธ ๊ฐ์ฒดํํ
๊ฐ์ ์ฐ๊ฑฐ๋ ๊ฐ์ ธ์ฌ ์ ์์ผ๋๊น!
// fun ๋ฐ์์ init ๋ง๋ค๊ณ ํธ์ถ
while (true) {
... ์ด์ ๊ณผ ๋์ผ
โ Lv 4 (์์ธ์ฒ๋ฆฌ / try, throw)
- ๋ฉ๋ดํ ๋ฒํธ ์ ๋ ฅ์ ์ซ์๊ฐ ์๋ ๋ฌธ์๋ฅผ ์ ๋ ฅํ๊ฑฐ๋, ์๋ ์ซ์๋ฅผ ์ ๋ ฅํ์ ๋ ๋ค์ ์ ๋ ฅํ ์ ์๋๋ก ์์ธ์ฒ๋ฆฌ
- ํ์ฌ ์์ก๊ณผ ๊ฐ๊ฒฉ์ ๋น๊ตํด์ ๊ตฌ๋งค ๊ฐ๋ฅํ ์ํ๋ฅผ ํด๋์ค์ ์ถ๊ฐ์ ์ผ๋ก ๊ตฌํ (๊ตฌ๋งคํ ๋งํผ ๋์ด ์๋์ง ์ํ์ ํฌํจ)
โ Lv 5 (์ฐ๋ ๋ / thread)
- ํน์ ์์ ์ด ์ข ๋ฃ๋ ํ, 3์ด ๋ค์ ๋ค๋ฅธ ์์ ์ ์ํํ ์ ์๋๋ก ์ฝ๋๋ฅผ ์์ฑ
- ๊ฒฐ์ ํ ๋ ํ์ฌ ์๊ฐ์ ๋น๊ตํ์ฌ ํน์ ์๊ฐ๋์๋ ๊ฒฐ์ ํ ์ ์๋ค๋ ์๋ฆผ ๋ฉ์์ง๋ฅผ ์ฝ์์ฐฝ์ ์ถ๋ ฅ
- ๊ฒฐ์ ๊ฐ ์๋ฃ ๋์๋ค๋ฉด ์๊ฐ์ ๋์์ค (์: ๊ฒฐ์ ๋ฅผ ์๋ฃํ์ต๋๋ค. (2023-01-01 23:25:12))
- ํ๋ก๊ทธ๋จ์ ์ข ๋ฃํ ๋๊น์ง 5์ด๋ง๋ค ํ์ฌ ์ฃผ๋ฌธ ๋๊ธฐ์๋ฅผ ์ค์๊ฐ์ผ๋ก ์ถ๋ ฅ
๋ฐ์ํ
๐ฌ C O M M E N T