๐ŸŒCoding/๐ŸŒŸKotlin 5

04. ํ”„๋กœ๊ทธ๋žจ ํ๋ฆ„์˜ ์ œ์–ด

๐Ÿ˜ถ if๋ฌธ๊ณผ if~else๋ฌธ if (์กฐ๊ฑด์‹) { ์ˆ˜ํ–‰ํ•  ๋ฌธ์žฅ //์กฐ๊ฑด์‹์ด ์ฐธ์ธ ๊ฒฝ์šฐ์—๋งŒ ์ˆ˜ํ–‰} else { ์ˆ˜ํ–‰ํ•  ๋ฌธ์žฅ //์กฐ๊ฑด์‹์ด ๊ฑฐ์ง“์ธ ๊ฒฝ์šฐ์— ์ˆ˜ํ–‰}- ์ˆ˜ํ–‰ํ•  ๋ฌธ์žฅ์ด ํ•œ ์ค„์ด๋ฉด ์ค‘๊ด„ํ˜ธ๋ฅผ ์ƒ๋žต ๊ฐ€๋Šฅ- ๋ฒ”์œ„(range) ์—ฐ์‚ฐ์ž: ๋ณ€์ˆ˜๋ช… in ์‹œ์ž‘ ๊ฐ’.. ๋งˆ์ง€๋ง‰ ๊ฐ’* ์ฝ”ํ‹€๋ฆฐ io์˜ ํ‘œ์ค€ ํ•จ์ˆ˜์˜ readline()์€ ์ฝ˜์†”๋กœ๋ถ€ํ„ฐ ํ•œ ์ค„ ์ž…๋ ฅ์„ ๋ฐ›์•„๋“ค์ž„   ๐Ÿ˜ถ when๋ฌธ - ๋‹ค๋ฅธ ์–ธ์–ด์—์„œ ํ”ํžˆ ์‚ฌ์šฉ๋˜๋˜ switch~case๋ฅผ ๋Œ€์ฒดํ•˜๋Š” ์ฝ”ํ‹€๋ฆฐ์—์„œ๋งŒ ์ œ๊ณต๋˜๋Š” ๋ฌธ๋ฒ•when (์ธ์ž) { ์ธ์ž์— ์ผ์น˜ํ•˜๋Š” ๊ฐ’ ํ˜น์€ ํ‘œํ˜„์‹ -> ์ˆ˜ํ–‰ํ•  ๋ฌธ์žฅ ์ธ์ž์— ์ผ์น˜ํ•˜๋Š” ๋ฒ”์œ„ -> ์ˆ˜ํ–‰ํ•  ๋ฌธ์žฅ ... else -> ๋ฌธ์žฅ} - when์— ์ธ์ž๊ฐ€ ์ฃผ์–ด์ง€์ง€ ์•Š์œผ๋ฉด else if์ฒ˜๋Ÿผ ๊ฐ๊ฐ์˜ ์กฐ๊ฑด ์‹คํ–‰ ๊ฐ€๋Šฅ- ํŠน์ • ์ธ์ž์— ์ œํ•œํ•˜..

03. ํ•จ์ˆ˜

๐Ÿค”ํ•จ์ˆ˜fun ํ•จ์ˆ˜์ด๋ฆ„ ([๋ณ€์ˆ˜ ์ด๋ฆ„: ์ž๋ฃŒํ˜•]): [๋ฐ˜ํ™˜๊ฐ’์˜ ์ž๋ฃŒํ˜•] { ํ‘œํ˜„์‹ [return ๋ฐ˜ํ™˜๊ฐ’]}  - ๊ฐ€๋ณ€ ์ธ์ž: ์ธ์ž์˜ ๊ฐœ์ˆ˜๊ฐ€ ๋ณ€ํ•œ๋‹ค fun ํ•จ์ˆ˜์ด๋ฆ„ (vararg [๋ณ€์ˆ˜ ์ด๋ฆ„: ์ž๋ฃŒํ˜•]): [๋ฐ˜ํ™˜๊ฐ’์˜ ์ž๋ฃŒํ˜•] { ํ‘œํ˜„์‹ [return ๋ฐ˜ํ™˜๊ฐ’]} ๐Ÿค”์ฝ”ํ‹€๋ฆฐ == ๋‹ค์ค‘ ํŒจ๋Ÿฌ๋‹ค์ž„ ์–ธ์–ด 1) ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ: ์ฝ”๋“œ ๊ฐ„๋žต, ํ…Œ์ŠคํŠธ๋‚˜ ์žฌ์‚ฌ์šฉ์„ฑ ์ฆ๊ฐ€, ๋žŒ๋‹ค์‹, ๊ณ ์ฐจ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด ๊ตฌ์„ฑ, ์ˆœ์ˆ˜ ํ•จ์ˆ˜2) ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ  ๐Ÿค”์ˆœ์ˆ˜ ํ•จ์ˆ˜ ๋ถ€์ž‘์šฉ(side-effect)์ด ์—†๋Š” ํ•จ์ˆ˜ -> ๋™์ผํ•œ ์ž…๋ ฅ ์ธ์ž์— ๋Œ€ํ•ด์„œ๋Š” ํ•ญ์ƒ ๊ฐ™์€ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅ, ๋ฐ˜ํ™˜ํ•จ-> ๊ฐ’์ด ์˜ˆ์ธก ๊ฐ€๋Šฅํ•˜์—ฌ ๊ฒฐ์ •์  ์กฐ๊ฑด -> ๊ฐ™์€ ์ธ์ž์— ๋Œ€ํ•˜์—ฌ ํ•ญ์ƒ ๊ฐ™์€ ๊ฐ’์„ ๋ฐ˜ํ™˜-> ํ•จ์ˆ˜ ์™ธ๋ถ€์˜ ์–ด๋–ค ์ƒํƒœ๋„ ๋ฐ”๊พธ์ง€ ์•Š์Œ  ์žฅ์ -> ์ž…๋ ฅ, ๋‚ด์šฉ์„..

02. ๋ณ€์ˆ˜์™€ ์ž๋ฃŒํ˜•, ์—ฐ์‚ฐ์ž

๐Ÿค”๋ณ€์ˆ˜  val (value) - ๋ถˆ๋ณ€ํ˜• (immutable)  var (variable) - ๊ฐ€๋ณ€ํ˜• (mtable) ๐Ÿค”๋ณ€์ˆ˜์˜ ์„ ์–ธ  val ๋ณ€์ˆ˜ ์ด๋ฆ„: ์ž๋ฃŒํ˜• = ๊ฐ’  ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ๊ฐ’์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐํ˜•์„ ์ถ”๋ก ํ•ด ์„ ์–ธ๋œ๋‹ค. (์ถ”๋ก  ํƒ€์ž… ํ™•์ธ: ctrl + shift + p) ๐Ÿค”๋ณ€์ˆ˜ ๊ทœ์น™  ์ˆซ์ž๋กœ ์‹œ์ž‘ํ•˜๋ฉด ์•ˆ๋œ๋‹ค.  ํ‚ค์›Œ๋“œ๋กœ ๋ณ€์ˆ˜ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.  ์˜๋ฏธ ์žˆ๋Š” ๋‹จ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.  ์—ฌ๋Ÿฌ ๋‹จ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณ€์ˆ˜ ์ด๋ฆ„์„ ์ง€์„ ๊ฒฝ์šฐ ์นด๋ฉœ ํ‘œ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋ผ. ๐Ÿค”์ถœ๋ ฅ  ํ‘œํ˜„์‹๊ณผ $ ๊ธฐํ˜ธ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์ž์—ด ์ถœ๋ ฅํ•˜๊ธฐprintln("username: $username, count: $count") ๐Ÿค”์ž๋ฃŒํ˜• 1) ์ •์ˆ˜ํ˜•: Long, Int, Short, Byte 2) ์‹ค์ˆ˜ํ˜•: Double, Flo..

01. Kotlin์ด๋ž€

Kotlin ๐Ÿ™„์ฝ”ํ‹€๋ฆฐ(Kotlin) ์ด๋ž€? -๊ตฌ๊ธ€์—์„œ ์ง€์ •ํ•œ ์•ˆ๋“œ๋กœ์ด๋“œ ๊ณต์‹ ์–ธ์–ด-์ž๋ฐ”์™€ 100% ํ˜ธํ™˜์„ฑ์œผ๋กœ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅ- JVM์ƒ์—์„œ ๋™์ž‘์‹œํ‚ค์ง€๋งŒ ๋‹ค์–‘ํ•œ ํ”Œ๋žซํผ์—์„œ๋„ ์‹คํ–‰ ๊ฐ€๋Šฅ- ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ๋ฒ•์ธ ๋žŒ๋‹ค์‹, ๊ณ ์ฐจ ํ•จ์ˆ˜๋ฅผ ์ œ๊ณตํ•˜๋ฉด์„œ ์ฝ”๋“œ์˜ ์ถ•์•ฝ ๋ฐ ์ตœ์ ํ™” ๊ฐ€๋Šฅ- ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ๋ฒ•๋„ ๊ฐ™์ด ์ œ๊ณตํ•˜๋Š” ๋ฉ€ํ‹ฐ ํŒจ๋Ÿฌ๋‹ค์ž„ ์–ธ์–ด- ์ƒ์‚ฐ์„ฑ์ด ๋งค์šฐ ๋†’์Œ  ๐Ÿ™„๋ชฉํ‘œ๋ชจ๋“  ๊ฐœ๋ฐœ์„ ๋‹ค์–‘ํ•œ ํ”Œ๋žซํผ์—์„œ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ฒƒ  ๐Ÿ™„ํŠน์ง•์ฝ”๋“œ ๊ฐ„๊ฒฐ, ๋‹ค์žฌ๋‹ค๋Šฅ, ํ˜ธํ™˜์„ฑ์ด ๋†’์Œ๋ฌธ์žฅ ๋์— ์„ธ๋ฏธ์ฝœ๋ก ์€ ์˜ต์…˜์•ˆ๋“œ๋กœ์ด๋“œ ๊ณต์‹ ์–ธ์–ด๋กœ ์ถ”๊ฐ€๋ณ€์ˆ˜๋Š” Nullable(๋„ ๊ฐ’ ์‚ฌ์šฉ ๊ฐ€๋Šฅ)๊ณผ NotNull๋กœ ๋‚˜๋‰จ -> ๋ณ€์ˆ˜ ์„ ์–ธ ์‹œ '?'๋ฅผ ๋ถ™์—ฌ Nullable๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Œ  ๐Ÿ™„์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํ”Œ๋žซํผ Kotlin/JVM, ..

00. Kotlin๐Ÿ‘

๋‚ด ๋งˆ์Œ๋Œ€๋ฃจ Kotlin ๊ฐ•์˜ ๋“ฃ๊ตฌ ์ •๋ฆฌํ•˜๋Š” ๊ณต๊ฐ„์ž…๋‹ˆ๋‹ค  ๊ฐ•์˜) boostcourse - ์ฝ”ํ‹€๋ฆฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ๋ณธ1www.boostcourse.org/mo132 ์ฝ”ํ‹€๋ฆฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ๋ณธ 1๋ถ€์ŠคํŠธ์ฝ”์Šค ๋ฌด๋ฃŒ ๊ฐ•์˜www.boostcourse.org