์ฝ”ํ‹€๋ฆฐ์˜ ์„ ์–ธ ์ง€์  ๋ณ€์„ฑ/ ์‚ฌ์šฉ ์ง€์  ๋ณ€์„ฑ
ยท
[ Kotlin ]
์ฝ”ํ‹€๋ฆฐ ๊ณ ๊ธ‰ํŽธ ๊ฐ•์˜๋ฅผ ์ˆ˜๊ฐ•ํ•œ ํ›„, ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค ํด๋ž˜์Šค๋ฅผ ๊ณต๋ณ€ํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์ œ๋„ˆ๋ฆญ ํด๋ž˜์Šค ์ž์ฒด๋ฅผ ๊ณต๋ณ€ํ•˜๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์€ ์—†์„๊นŒ? ์ฝ”ํ‹€๋ฆฐ์—์„œ๋Š” ํด๋ž˜์Šค์—์„œ์˜ ๊ณต๋ณ€์ด ๊ฐ€๋Šฅํ•˜๋‹ค.์ƒ์‚ฐ๋งŒ ํ•˜๋Š” ํด๋ž˜์Šค Cage3. ๋‚ด๋ณด๋‚ด๊ธฐ๋งŒ ํ•˜๊ณ  ์žˆ๋Š” ํด๋ž˜์Šค์ด๋‹ค. ์ด๋Ÿด ๊ฒฝ์šฐ์—๋Š” ํด๋ž˜์Šค ์ž์ฒด๋ฅผ ๊ณต๋ณ€ํ•˜๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.class Cage3 { private val animals: MutableList = mutableListOf() fun getFirst(): T { return this.animals.first() } fun getAll(): List { return this.animals }}ํด๋ž˜์Šค ์ž์ฒด๊ฐ€ ๊ณต๋ณ€ํ•˜๋‹ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์„ ๋•Œ, ์—๋Ÿฌ ๋ฐœ์ƒ์ด ๋‚˜์ง€ ์•Š์„ ๊ฒƒ์ด๋‹ค.val..
์ฝ”ํ‹€๋ฆฐ์˜ ๋ฐฐ์—ด๊ณผ ๋ฆฌ์ŠคํŠธ, ์ œ๋„ˆ๋ฆญ๊ณผ ๋ฌด๊ณต๋ณ€, ๊ณต๋ณ€, ๋ฐ˜๊ณต๋ณ€
ยท
[ Kotlin ]
์ธํ”„๋Ÿฐ์—์„œ ์ œ๊ณตํ•˜๊ณ  ์žˆ๋Š” ์ฝ”ํ‹€๋ฆฐ ๊ณ ๊ธ‰ํŽธ ๊ฐ•์˜๋ฅผ ์ˆ˜๊ฐ•ํ•œ ํ›„ ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค.์ง€๋‚œ ์‹œ๊ฐ„ ๋ฆฌ๋ทฐclass Cage2 {private val animals: MutableList = mutableListOf() fun getFirst() : T { return animals.first() } fun put(animal: T) { this.animals.add(animal) } fun moveFrom(cage: Cage2) { this.animals.addAll(cage.animals) }}์ง€๋‚œ ์‹œ๊ฐ„์— ๊ธˆ๋ถ•์–ด ์ผ€์ด์ง€์— ๊ธˆ๋ถ•์–ด๋ฅผ ๋„ฃ์—ˆ์—ˆ๊ณ , ๊ธˆ๋ถ•์–ด๋ฅผ ๋ฌผ๊ณ ๊ธฐ ์ผ€์ด์ง€๋กœ ์˜ฎ๊ฒจ ๋„ฃ์œผ๋ ค ํ–ˆ์ง€๋งŒ, ์•ˆ๋๋‹ค ๊ทผ๋ฐ ๊ทธ๋ƒฅ ๊ธˆ๋ถ•์–ด๋ฅผ ๋ฌผ๊ณ ๊ธฐ cage ์— ๋„ฃ๋Š” ๊ฒƒ์€ ๊ฐ€๋Šฅํ–ˆ..
์ฝ”ํ‹€๋ฆฐ์˜ ์ œ๋„ˆ๋ฆญ๊ณผ ํƒ€์ž… ํŒŒ๋ผ๋ฏธํ„ฐ
ยท
[ Kotlin ]
์ธํ”„๋Ÿฐ์—์„œ ์ œ๊ณตํ•˜๊ณ  ์žˆ๋Š” ์ฝ”ํ‹€๋ฆฐ ๊ณ ๊ธ‰ํŽธ ๊ฐ•์˜๋ฅผ ์ˆ˜๊ฐ•ํ•œ ํ›„ ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ์ œ๋„ˆ๋ฆญ๊ณผ ํƒ€์ž… ํŒŒ๋ผ๋ฏธํ„ฐ๋‹ค์Œ๊ณผ ๊ฐ™์€ Animal ํด๋ž˜์Šค, Cage ํด๋ž˜์Šค๊ฐ€ ์žˆ๋‹ค.class Cage { private val animals: MutableList = mutableListOf() fun getFirst(): Animal { return animals.first } fun put(animal: Animal) { this.animals.add(animal) } fun moveFrom(cage: Cage) { this.animals.addAll(cage.animals) }}abstract class Animal(val name: String,)ab..
coding-wave
wave.dev.log