๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ“’ | Kotlin/โœจ | ๊ฐœ๋…3

[Kotlin] ์ƒ์†(Inheritance) ์ƒ์†์ด๋ž€?๋ถ€๋ชจ์˜ ์ž์›์„ ์ž์‹์ด ๋ฌผ๋ ค๋ฐ›์•„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ์ƒ์†์ด๋ผ๊ณ  ํ•œ๋‹ค. ์ƒ์†์€ ํด๋ž˜์Šค ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ์ •์˜ํ•˜๊ณ  ์ฝ”๋“œ์˜ ์žฌ์‚ฌ์šฉ์„ฑ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋œ๋‹ค. ์ƒ์†์„ ํ†ตํ•ด ํ•˜๋‚˜์˜ ํด๋ž˜์Šค๊ฐ€ ๋‹ค๋ฅธ ํด๋ž˜์Šค์˜ ์†์„ฑ๊ณผ ํ•จ์ˆ˜๋ฅผ ๋ฌผ๋ ค๋ฐ›์•„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.  ์ƒ์†์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ์ƒ์†์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ๋Š”์ด๋ฏธ ์กด์žฌํ•˜๋Š” ํด๋ž˜์Šค๋ฅผ ํ™•์žฅํ•ด ์ƒˆ๋กœ์šด ์†์„ฑ์ด๋‚˜ ํ•จ์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ•œ ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค์–ด์•ผ ํ•  ๋•Œ,์—ฌ๋Ÿฌ ๊ฐœ์˜ ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค์—ˆ๋Š”๋ฐ ํด๋ž˜์Šค๋“ค์˜ ๊ณตํ†ต์ ์„ ๋ฝ‘์•„ ์ฝ”๋“œ ๊ด€๋ฆฌ๋ฅผ ํŽธํ•˜๊ฒŒ ํ•ด์•ผ ํ•  ๋•Œ ์‚ฌ์šฉ๋œ๋‹ค.  ์ƒ์†์˜ ๊ตฌ์„ฑ์†์„ฑ๊ณผ ํ•จ์ˆ˜๋ฅผ ๋ฌผ๋ ค์ฃผ๋Š” ์ชฝ์„ ์Šˆํผ ํด๋ž˜์Šค(๋ถ€๋ชจ ํด๋ž˜์Šค), ๋ฌผ๋ ค๋ฐ›๋Š” ํด๋ž˜์Šค๋ฅผ ์„œ๋ธŒ ํด๋ž˜์Šค(์ž์‹ ํด๋ž˜์Šค)๋ผ๊ณ  ํ•œ๋‹ค.์ƒ์†์„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ž์‹ ํด๋ž˜์Šค์˜ ๋์— ์ฝœ๋ก (:)์„ ๋‹ฌ๊ณ  ์ƒ์†๋ฐ›์„ ๋ถ€๋ชจ ํด๋ž˜์Šค์˜ ์ด๋ฆ„๊ณผ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ •์˜ํ•ด ์ฃผ๋ฉด ๋œ๋‹ค.class `์ž.. 2024. 6. 14.
[Kotlin] ๋ฐฐ์—ด๊ณผ Map์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ธฐ ์š”์ฆ˜ ํ•„์ž๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋ฅผ ํ’€๊ณ  ์žˆ๋‹ค. ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋ฅผ ํ’€๋‹ค ๋ณด๋ฉด ๋ฐฐ์—ด์€ ๊ฑฐ์˜ ๋Œ€๋ถ€๋ถ„์˜ ๋ฌธ์ œ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ ๊ฐ™๊ณ , HashMap๋„ ์ข…์ข… ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ ๊ฐ™์•˜๋‹ค. ๊ทธ๋ž˜์„œ ์ด๋ฒˆ์— ์ฝ”ํ‹€๋ฆฐ์˜ ๋ฐฐ์—ด๊ณผ HashMap์˜ ์ฐจ์ด์— ๋Œ€ํ•ด ๊ฐ„๋‹จํžˆ ์„ค๋ช…ํ•ด๋ณด๊ณ ์ž ํ•œ๋‹ค. ์•ž์œผ๋กœ ์ด๋Ÿฐ ๊ฐ„๋‹จํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ฐœ๋…์— ๋Œ€ํ•œ ํฌ์ŠคํŒ…์ด ์˜ฌ๋ผ์˜ฌ ๊ฒƒ ๊ฐ™๋‹ค. 1. ๋ฐฐ์—ด(Array) ๋ฐฐ์—ด์€ ์ฝ”ํ‹€๋ฆฐ์„ ๊ณต๋ถ€ํ•˜์ง€ ์•Š์€ ์‚ฌ๋žŒ์ด๋ผ๋„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ํ•˜๋‚˜๋ผ๋„ ๊ณต๋ถ€ํ•ด ๋ณธ ๊ฒฝํ—˜์ด ์žˆ์œผ๋ฉด ๋ฐ”๋กœ ์•Œ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค. ๋ฐ”๋กœ ๋ฐ์ดํ„ฐ์˜ ์ง‘ํ•ฉ์„ ๋ฐฐ์—ด์ด๋ผ๊ณ  ํ•˜๋Š”๋ฐ ์ž๋ฐ”์˜ ๋ฐฐ์—ด ์„ ์–ธ๊ณผ๋Š” ๋‹ฌ๋ฆฌ ์ฝ”ํ‹€๋ฆฐ์˜ ๋ฐฐ์—ด์€ ์ƒ๋‹นํžˆ ํŽธ๋ฆฌํ•˜๋ฉด์„œ๋„ ๋ณต์žก(?)ํ•˜๋‹ค.(ํ•„์ž ๊ธฐ์ค€) ํ•„์ž๊ฐ€ ์™œ ๋ณต์žกํ•˜๊ฒŒ ๋Š๊ผˆ๋ƒ๋ฉด, ์ฝ”๋“œ๋กœ ์„ค๋ช…ํ•ด ์ฃผ๊ฒ ๋‹ค. ์ž๋ฐ”์˜ ๊ฒฝ์šฐ์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ฐฐ์—ด์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. int[] intA.. 2023. 10. 27.
[Kotlin] coroutine ๊ฐœ๋… ์ •๋ฆฌ ์˜ค๋Š˜์€ ๋‚ด๊ฐ€ ๊ณต๋ถ€ํ–ˆ๋˜ ์ฝ”๋ฃจํ‹ด์˜ ๊ฐœ๋…์„ ์•Œ์•„๋ณด๊ฒ ๋‹ค. ์ฝ”๋ฃจํ‹ด์˜(coroutine) ๊ฐœ๋… ์ฝ”๋ฃจํ‹ด์€ kotlin์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋™์‹œ์„ฑ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ์ผ์ข…์ด๋‹ค. ์ตœ๊ทผ์— ์ฝ”ํ‹€๋ฆฐ์„ ์‚ฌ์šฉํ•˜๋Š” ์•ฑ์ด ๋Š˜์–ด๋‚จ์— ๋”ฐ๋ผ, ๊ตฌ๊ธ€์—์„œ๋„ ๊ฐ•๋ ฅํžˆ ์ถ”์ฒœํ•˜๋Š” ์‹ค์‹œ๊ฐ„ ์ฒ˜๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ด๋‹ค. ์ฝ”๋ฃจํ‹ด ์ฝ”๋ฃจํ‹ด(coroutine)์€ ๋ฃจํ‹ด์˜ ์ผ์ข… ์ฝ”๋ฃจํ‹ด์˜ "co" ๋Š” with, together๋ฅผ ๋œปํ•œ๋‹ค. ํ˜‘๋™ ๋ฃจํ‹ด์ด๋ผ ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฝ”๋ฃจํ‹ด์˜ ํŠน์ง• ์ฝ”๋ฃจํ‹ด์€ ์ด์ „์— ์ž์‹ ์˜ ์‹คํ–‰์ด ๋งˆ์ง€๋ง‰์œผ๋กœ ์ค‘๋‹จ๋œ ์ง€์ ์˜ ๋ฐ”๋กœ ๋‹ค์Œ ์žฅ์†Œ์—์„œ ์‹คํ–‰์„ ์žฌ๊ฐœํ•œ๋‹ค. ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ์— ๋Œ€ํ•œ ์ฝ”๋“œ๋ฅผ ๊ฐ„๋‹จํžˆ ์ž‘์„ฑํ•ด์ค€๋‹ค. ๋น„๋™๊ธฐ ์ฝœ๋ฐฑ ์ฒ˜๋ฆฌ๋ฅผ ์ˆœ์ฐจ์ ์œผ๋กœ ํ•˜๊ฒŒ ํ•ด์ค€๋‹ค. ์ด์ œ ๊ฐœ๋…์„ ์•Œ์•˜์œผ๋‹ˆ, ๊ฐ„๋‹จํ•œ ์ฝ”๋“œ๋ฅผ ๋ณด๋ฉด์„œ ์ดํ•ดํ•ด ๋ณด์ž. ์ฝ”ํ‹€๋ฆฐ ์˜ˆ์ œ GlobalScope.launch { // launch.. 2022. 4. 3.
728x90