ํ ํ๋ก์ ํธ์ธ ํค์ค์คํฌ๋ฅผ ๋ง๋ค๊ณ ์๋ค.
๋ฉ๋ด๋ฅผ ์นดํ
๊ณ ๋ฆฌ๋ณ๋ก ๊ฐ๊ฐ ๋งก์์ ํ์๊ณ , ๋ data class
๋ฅผ ์ด์ฉํด์ ๋ฉ๋ด ๋ฆฌ์คํธ๋ฅผ ๋ง๋ค์๋๋ฐ ํ ํ์๋ถ์ ์นดํ
๊ณ ๋ฆฌ๋ฅผ ์ถ์ํ๋ฅผ ์งํํ์ฌ ๋์ ๋ค๋ฅธ ๋ฐฉํฅ์ผ๋ก ๊ฐ๊ณ ์์๋ค.
๊ทธ๋์ ๋ ์ข์ ๋ฐฉ๋ฒ์ ๊ณ ๋ฅด๋ ค๊ณ ํํฐ๋๊ป ๋ฌธ์๋ฅผ ํ๋๋ ์ค์ต ์ํ์์๋ data class
๋ฅผ ์ฌ์ฉํด๋ ํ๋ก์ ํธ์์ ์ฃผ์ด์ง Lv0~Lv5๊น์ง ์ํํ๋๋ฐ ๋ฌด๋ฐฉํ๋, ํ๋์ฝ๋ฉ์ด๊ณ ์ค๋ฌด์์๋ ์ถ์ํ๋ฅผ ํ์ฌ ์์ํ๋ ๋ฐฉํฅ์ผ๋ก ํด์ผ ํ๋ค๊ณ ํ์
จ๋ค.
์ ๋ฆฌํ์๋ฉด ์ฌ์ด ๋ฐฉ๋ฒ์ ์ถ์ํ๋ฅผ ํ์ง ์๊ณ data class
๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด๊ณ , ์ค๋ฌด์ฒ๋ผ ํ๋ ๋ฐฉ๋ฒ์ ์ถ์ํ์ ์์ํ๋ ๊ฐ๋
์ ์ ์ฉํ๋ ๊ฒ์ด๋ค.
ํ์๋ค๊ณผ์ ๋ํ ๋์ ์ฐ์ ์ถ์ํ์ ์์ํ๋ ๋ฐฉ๋ฒ์ผ๋ก ํ๊ธฐ๋ก ํ๋ค.
๊ทธ๋ฐ๋ฐ ๋ ์ถ์ํ์ ๋ํด ์ ๋ชฐ๋ผ์ ๊ฐ ๋ฉ๋ด ์นดํ
๊ณ ๋ฆฌ๋ฅผ ์ถ์ํํ๋ ๊ฒ์ ์ด๋ ค์์ ๊ฒช๊ณ ์๋ค.
๊ฐ๋
์ ๋์ถฉ์ ์๊ฒ ๋๋ฐ ์ ์ฉ์ ๋ชปํ๊ฒ ๋ค.๐ญ
Chat CPTํํ
๋ ๋ฌผ์ด๋ด๋ ์ ๋ชจ๋ฅด๊ฒ ๋คใ
ใ
ใ
ใ
// ๋ง๋ฅธ์์ฃผ ํด๋์ค ์ถ์ํ
abstract class AbstractDry {
abstract fun abstractDry(): MenuItem
}
// ๋ฉ๋ด ๋ฐ์ดํฐ ํด๋์ค
data class MenuItem(val name: String, val price: Int, val depict: String)
// ๋ง๋ฅธ์์ฃผ ์ถ์ํ๋ฅผ ๋ฐ๋ ํด๋์ค
class ButterSquid: AbstractDry() {
override fun info(): MenuItem {
val name = "๋ฒํฐ์ค์ง์ด๊ตฌ์ด"
val price = 9000
val depict = "์ง~ํ ๋ฒํฐ์ ํ๋ฐํ ๋น๊ตฐ ์ค์ง์ด"
return MenuItem(name, price, depict)
}
}
์ฐ์ ์ถ์ํ๋ ๋ด์ฉ์ ์ด๋ฐ ํ์์ผ๋ก ์์ฑ์ ํ์๋ค.
๊ทธ๋ฆฌ๊ณ Main ํ์ผ์ ์๋์ฒ๋ผ ๋ฉ๋ด ํด๋์ค๋ค์ ๋ฆฌ์คํธํ ์์ผ์ ๋์ค์ ์ถ๋ ฅํ๊ฑฐ๋ ์นดํธ์ ์ ์ฅํ ๋ ์ผ์ผ์ด ์ ๋ ฅํ์ง ์์๋ ๋๊ฒ ๋ง๋ค์๋ค.
// Main์์ ๋ฆฌ์คํธ ์จ๋์
val menu3List: List<AbstractDry> = listOf(ButterSquid(), Calamari(), Filefish(), Pollack())
// Menu3์์ ๋ง๋ฅธ ์์ฃผ ๋ชฉ๋ก์ ๋ถ๋ฌ์ค๋ ์ฝ๋
for ((index, menuItem) in menu3List.withIndex()) { // menu3Items ๋ฆฌ์คํธ ๋ด ๊ฐ ์ธ๋ฑ์ค์ ์์๋ฅผ ๋ฐ๋ณต๋ฌธ์ผ๋ก ๋๋ฆผ
val menuInfo = menuItem.info()
println("${index+1}. ${menuInfo.name} | W ${menuInfo.price} | ${menuInfo.depict}")
}
์....๋ค๋ฅธ ํํฐ๋ํํ
์ง๋ฌธํด๋ณด๋๊น
์ด๋ฒ ํ๋ก์ ํธ์๋ ์ถ์ํ๊ฐ ํ์์๋ค๊ณ ํ๋ค...ํํํณใ
ใ
๐
๊ทธ๋ฅ ์์๊ฐ๋
์ ๋ฃ์ด์ ๋ฉ๋ด์์ ์นดํ
๊ณ ๋ฆฌ๋ณ๋ก ์์ํ๊ฒ ํ๋ ๊ฒ๋ง ํด์
๊ธฐ๋ฅ์ ๊ตฌํํ๋ฉด ๋๋๊ฑด ๋ฐ ๋๋ฌด ์ด๋ ต๊ฒ ์๊ฐํ๋๋ณด๋ค.
ํํฐ๋์ด 2๊ฐ์ง ๋ฐฉํฅ์ ์ ์ํด์ฃผ์
จ๋ค.
1) ์์ ๊ฐ๋
์ ๋ฃ์ด์ ์์ ์ฒ์๋ถํฐ ๋ค์ ์์ํ๋ค.
2) ๊ทธ๋ฅ ๊ตฌํ์ ๋๋๊น ์ถ์ํํ๊ฑธ๋ก ์งํ์ ํ๋ค.
๋ ๊ฐ์ธ์ ์ผ๋ก ์น ๊ฐ์์๋๊ฒ๋ ๊ณต๋ถํ๋๋ฐ ๋์์ด ๋ ๊ฒ ๊ฐ๊ณ ์ด๋ฏธ ํ๋ฒ ํ๊ธฐ ๋๋ฌธ์ ์ค๋ณต๋๋ ๊ณผ์ ์ด ์์ด์ ๊ด์ฐฎ์ ๊ฒ ๊ฐ์๋๋ฐ,
์ด ๊ณผ์ ๊น์ง๋ ์ฝ 3์ผ์ด ๊ฑธ๋ ธ๋๋ฐ ๋ค์ ํ๋๊ฑด ์กฐ๊ธ ํ๋ค ์๋ ์๊ฒ ๋ค๋ ์๊ฒฌ์ด ์์๋ค.
๊ทธ๋์ ์ฐ์ ์ถ์ํํ๊ฑธ๋ก๋ ๊ธฐ๋ฅ์ ์ผ๋ก๋ ์ ๋๋๊น ํ๋๊ฑธ ๊ทธ๋๋ก ์ ์ถ์ ํ๊ณ , ์ดํ์ ์์์ ๊ฐ๋
์ด ๋ค์ด๊ฐ๊ฒ ๊ฐ์ ๋ง๋ค์ด๋ณด๊ธฐ๋ก ๊ฒฐ์ ์ ํ์๋ค.
์ด๋ป๊ฒ ํ๋ค๋ณด๋ ๊ตฌํ์ ํ๊ธด ํ๋๋ฐ ์ด๊ฒ ์๋๋ผ๋๊น ์ฝ๊ฐ ํํํ๊ธด ํ๋ฐ ์ด๊ฑด ์กฐ๊ฑด์ ์ ์ ์ฝ๊ณ ํ ์ฐ๋ฆฌํ์ ์ค์์ด์ ์๋ชป์ด๊ธฐ ๋๋ฌธ์ใ ใ ใ ์ด์ฉ ์ ์๋ค๐ญ
์ ์ถ๊น์ง ์ฝ 2์ผ์ด ๋จ์๋๋ฐ ๋๊น์ง ํ์ดํ ํด๋ด์ผ์ง!!!๐ฅ
์ ๋ง ์ ๋ฉ๋ถ์ด ํฐ์ก์์ด์ ใ ใ