๐Ÿค study/Kotlin

    [Kotlin] ์ฝ”ํ‹€๋ฆฐ ๊ธฐ์ดˆ๋ฌธ๋ฒ•(๋ณ€์ˆ˜, ํ•จ์ˆ˜, ํ๋ฆ„์ œ์–ด, ๋„ ์•ˆ์ •์„ฑ, ์˜ˆ์™ธ์ฒ˜๋ฆฌ, ํด๋ž˜์Šค, ํ”„๋กœํผํ‹ฐ, ์ƒ์†, ์ธํ„ฐํŽ˜์ด์Šค, ์—ด๊ฑฐํ˜• ํด๋ž˜์Šค)

    Kotlin Playground: Edit, Run, Share Kotlin Code Online ์‹ค์‹œ๊ฐ„์œผ๋กœ ์›น์—์„œ ์ฝ”ํ‹€๋ฆฐ์˜ ๋ฌธ๋ฒ•์„ ํ•™์Šตํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ์ดํŠธ 1. ๋ณ€์ˆ˜ val a: Int = 1 //ํƒ€์ž…์„ ์ƒ๋žตํ•ด๋„ ์ปดํŒŒ์ผ ์—๋Ÿฌ X, ํƒ€์ž… ์ถ”๋ก ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. val b = 1 //์ง€์—ฐํ• ๋‹น: ๋’ค๋Šฆ๊ฒŒ ๊ฐ’์„ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ๋‹ค**(์ง€์—ฐํ• ๋‹น์‹œ์—๋Š” ํƒ€์ž…์„ ๋ฐ˜๋“œ์‹œ ์ ์–ด์ค˜์•ผํ•จ)** val c: Int c= 3 ์ฝ”ํ‹€๋ฆฐ์—์„œ ๋ณ€์ˆ˜ ์„ ์–ธ ์‹œ์— ์‚ฌ์šฉํ•˜๋Š” ํ‚ค์›Œ๋“œ val : value์˜ ์•ฝ์ž, java์˜ final์ฒ˜๋Ÿผ ์žฌํ• ๋‹น์ด ๋ถˆ๊ฐ€๋Šฅ var : variable์˜ ์•ฝ์ž, ๋ณ€์ˆ˜์˜ ๊ฐœ๋…์œผ๋กœ ์žฌํ• ๋‹น์ด ๊ฐ€๋Šฅํ•˜๋‹ค val e : String = "Hello" e = "World" //์ปดํŒŒ์ผ ์—๋Ÿฌ, val์€ ์žฌํ• ๋‹น์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. var f =..

    [Kotlin] ์ฝ”ํ‹€๋ฆฐ ์ดํ•ดํ•˜๊ธฐ | ์ฝ”ํ‹€๋ฆฐ์„ ๋ฐฐ์›Œ์•ผ ํ•˜๋Š” ์ด์œ  | ์ž๋ฐ”์™€ ์ฝ”ํ‹€๋ฆฐ์˜ ์ฐจ์ด์  | ์ฝ”ํ‹€๋ฆฐ์˜ ๊ธฐ๋Šฅโœ๏ธ[1]

    1. ์ฝ”ํ‹€๋ฆฐ ์ดํ•ดํ•˜๊ธฐ 1. ์ฝ”ํ‹€๋ฆฐ์˜ ํ˜„์žฌ์™€ ๋ฏธ๋ž˜ ์ฝ”ํ‹€๋ฆฐ์„ ๋ฐฐ์›Œ์•ผ ํ•˜๋Š” ์ด์œ  Jetbrains์—์„œ ๋งŒ๋“  ์–ธ์–ด → ์ž๋™์™„์„ฑ, ์ฝ”ํ‹€๋ฆฐ ๋ณ€ํ™˜, ์ฝ”๋ฃจํ‹ด๋“ฑ ๊ด€๋ จ ํŽธ์˜ ๊ธฐ๋Šฅ์„ ์ง€์›ํ•œ๋‹ค. ์ž๋ฐ”๋Š” ๋ฐœํ‘œ๋œ์ง€ 20๋…„์ด ๋„˜์—ˆ์ง€๋งŒ ์ฝ”ํ‹€๋ฆฐ, ์Šค์œ„ํ”„ํŠธ์™€ ๊ฐ™์€ ํ˜„๋Œ€์–ธ์–ด์— ๋น„ํ•ด ๊ธฐ๋Šฅ์ด ๋ถ€์กฑํ•˜๋‹ค. ์ž๋ฐ”์—์„œ best-practice๋กœ ๋ถˆ๋ฆฌ๋Š” ๊ธฐ๋ฒ•๋“ค์„ ์–ธ์–ด์  ์ฐจ์›์—์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ œ๊ณตํ•œ๋‹ค. ex) ์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ”, ๋””์ž์ธํŒจํ„ด ๋“ฑ ์ž๋ฐ”์— ๋น„ํ•ด ๋ฌธ๋ฒ•์ด ๊ฐ„๊ฒฐ → ๊ฐ€๋…์„ฑ, ์ƒ์‚ฐ์„ฑ์ด ๋†’๊ณ  ์˜ค๋ฅ˜ ๊ฐ€๋Šฅ์„ฑ์ด ์ ๋‹ค. // equals(), hashCode(), toString() ์ž๋™์œผ๋กœ ์ƒ์„ฑ data class Person( val name: String, val age: Int, val email: String ) // ๊ฐ„๋‹จํ•˜๊ฒŒ ์‹ฑ๊ธ€ํ„ด ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑ obj..

    [๋‹น๊ทผํ…Œํฌ ๋ฐ‹์—… ์š”์•ฝ] ์ฝ”ํ”„๋ง | ์ฝ”ํ‹€๋ฆฐ์˜ ์ฒ ํ•™ | ์ฝ”ํ‹€๋ฆฐ์˜ ์žฅ์  | ์ฝ”ํ‹€๋ฆฐ ํŠน์ง•(#์‚ด์•„์žˆ๋‹ค #์žํ”„๋ง์™ธ๊ธธ12๋…„์ฐจ #์ฝ”ํ”„๋ง2๊ฐœ์›”์ƒ์กด๊ธฐ) -1ํŽธ

    ์ฝ”ํ‹€๋ฆฐ์˜ ์ฒ ํ•™ : ์ฝ”ํ‹€๋ฆฐ์€ ์ž๋ฐ”์™€์˜ ์ƒํ˜ธ์šด์šฉ์„ฑ์— ์ดˆ์ ์„ ๋งž์ถ˜ ์‹ค์šฉ์ ์ด๊ณ  ๊ฐ„๊ฒฐํ•˜๋ฉฐ ์•ˆ์ „ํ•œ ์–ธ์–ด์ด๋‹ค. - Kotlin in Action ์ฝ”ํ‹€๋ฆฐ์˜ ์ฒ ํ•™ : ๊ฐ„๊ฒฐ์„ฑ ๊ฐœ๋ฐœ์ž๋“ค์€ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ์‹œ๊ฐ„๋ณด๋‹ค, ๊ธฐ์กด์˜ ์ฝ”๋“œ๋ฅผ ์ฝ๋Š”๋ฐ ์‹œ๊ฐ„์„ ๋” ๋งŽ์ด ์“ด๋‹ค. ์ฝ”๋“œ๋Š” ๊ฐ„๊ฒฐํ• ์ˆ˜๋ก ๋‚ด์šฉ์„ ํŒŒ์•…ํ•˜๊ธฐ ์‰ฝ๊ณ , ์œ ์ง€๋ณด์ˆ˜์—๋„ ์ข‹๋‹ค. ๊ทธ ์ค‘ ํ•ต์‹ฌ์€ ์–ธ์–ด์˜ ๊ฐ„๊ฒฐ์„ฑ(์˜๋„ ํŒŒ์•…, ์‰ฌ์šด ๊ตฌ๋ฌธ ๊ตฌ์กฐ, ๋ถ€๊ฐ€์ ์ธ ์ฝ”๋“œ ์ตœ๋Œ€ํ•œ ์ œ๊ฑฐ) ์ฝ”ํ‹€๋ฆฐ์€ ํ”„๋กœ๊ทธ๋žจ์ž‘์„ฑ์— ์žˆ์–ด ๋ถ€์ˆ˜์ ์ธ ์š”์†Œ๋“ค์„ ์ตœ๋Œ€ํ•œ ์ค„์ด๊ณ ์ž ๋…ธ๋ ฅํ–ˆ๋‹ค. ์˜ˆ์ œ1) data class Person( val id: UUID, val firstname: String, val lastname: String, val address: Address ) ๋‹ค์Œ๊ณผ ๊ฐ™์ด, data class๋ฅผ ์ž‘์„ฑํ•˜๊ฒŒ ๋˜๋ฉด getter..