๋ชฉ๋กvar (1)

DevLog ๐Ÿ˜ถ

[Kotlin] ์ฝ”ํ‹€๋ฆฐ ๊ธฐ๋ณธ ๋ฌธ๋ฒ• ์ •๋ฆฌ - Data Class, Companion Object, lateInit, val vs var

- ์ฝ”ํ‹€๋ฆฐ ๊ณต๋ถ€ํ•˜๋ฉด์„œ ๋ฌธ๋ฒ•์ ์œผ๋กœ ๋„ˆ๋ฌด ๋ถ€์กฑํ•˜๋‹ค๊ณ  ์ƒ๊ฐ์ด ๋“ค์–ด์„œ ๋ช‡ ๊ฐ€์ง€ ํŠน์ง•๋“ค์„ ์ •๋ฆฌํ•ด๋ณด์•˜๋‹ค. โœ”๏ธ Kotlin Data class ๋ฐ์ดํ„ฐ์˜ ๋ณด๊ด€ ๋ชฉ์ ์œผ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ํด๋ž˜์Šค. ์ž๋™์œผ๋กœ toString(), hashCode(), equals(), copy() ๋ฉ”์„œ๋“œ๋ฅผ ์ƒ์„ฑํ•ด์ค€๋‹ค. ํŠน์ง• ๋ฐ์ดํ„ฐ ํด๋ž˜์Šค์˜ ์ƒ์„ฑ์ž๋Š” 1๊ฐœ ์ด์ƒ์˜ ํ”„๋กœํผํ‹ฐ๋ฅผ ์„ ์–ธํ•ด์•ผ ํ•œ๋‹ค. ๋ฐ์ดํ„ฐ ํด๋ž˜์Šค์˜ ์ƒ์„ฑ์ž ํ”„๋กœํผํ‹ฐ๋Š” val ๋˜๋Š” var์œผ๋กœ ์„ ์–ธํ•ด์•ผ ํ•œ๋‹ค. ๋ฐ์ดํ„ฐ ํด๋ž˜์Šค์— abstract, open, sealed, inner ๋ฅผ ๋ถ™์ผ ์ˆ˜ ์—†๋‹ค. ํด๋ž˜์Šค์—์„œ toString(), hashCode(), equals(), copy()๋ฅผ overrideํ•˜๋ฉด, ๊ทธ ํ•จ์ˆ˜๋Š” ๊ตฌํ˜„๋œ ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋œ๋‹ค. ๋ฐ์ดํ„ฐ ํด๋ž˜์Šค๋Š” ์ƒ์† ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. toString..

โœ๏ธ/Kotlin 2022. 10. 22. 01:24