๐Ÿ”ฅTIL๐Ÿ”ฅ์ŠคํŒŒ๋ฅดํƒ€ | Kotlin ๋ฌธ๋ฒ•

hyihyiยท2023๋…„ 11์›” 27์ผ
0

TIL

๋ชฉ๋ก ๋ณด๊ธฐ
6/70
post-thumbnail

์ž๋ฐ”๋Œ€์‹  ์ฝ”ํ‹€๋ฆฐ์œผ๋กœ ์•ฑ ๊ฐœ๋ฐœ์„ ํ•˜๋Š” ์ด์œ 

-2019๋…„ ๊ตฌ๊ธ€์—์„œ ์ฝ”ํ‹€๋ฆฐ์„ ๊ณต์‹์ ์ธ ์•ˆ๋“œ๋กœ์ด๋“œ ์•ฑ ๊ฐœ๋ฐœ ์–ธ์–ด๋กœ ์ฑ„ํƒํ–ˆ๋‹ค
-์ž๋ฐ”์˜ ๋‹จ์ ์„ ๊ฐœ์„ ํ–ˆ๋‹ค
-์ž๋ฃŒํ˜•(ํƒ€์ž…)์„ ๊ผญ ๋ช…์‹œํ•˜์ง€ ์•Š์•„๋„ ์ถ”๋ก  ๊ฐ€๋Šฅ
-๊ฐ„๊ฒฐํ•˜๊ฒŒ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค
-NULL ์˜ˆ์™ธ์— ๋Œ€ํ•ด์„œ ์ž๋ฐ”๋ณด๋‹ค ๋” ์•ˆ์ „ํ•˜๋‹ค
JVM ์–ธ์–ด์™€ 100% ํ˜ธํ™˜๋˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ด๋‹ค

๊ฐ„๊ฒฐํ•˜๊ณ  ์•ˆ์ „ํ•˜๊ฒŒ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.
๊ตฌ๊ธ€์—์„œ Kotlin์„ ๊ถŒ์žฅํ•˜๋Š” ์ด์œ 
: https://developer.android.com/kotlin/first?hl=ko

์œ ์šฉํ•œ ๋‹จ์ถ•ํ‚ค

ํ•œ ์ค„ ์‚ญ์ œ : Ctrl + Y


-์ฝ”๋”ฉ ์ปจ๋ฒค์…˜

1) camelCase, ์นด๋ฉœ์ผ€์ด์Šค ํ‘œ๊ธฐ๋ฒ•

์ฃผ๋กœ ๋ณ€์ˆ˜, ๋ฉ”์†Œ๋“œ์˜ ์ด๋ฆ„์„ ์ง€์ •ํ•  ๋•Œ ์‚ฌ์šฉ

seoulFood (O)
seoul_food (X)
seoulfood (X)

2) snake_case,์Šค๋„ค์ดํฌ์ผ€์ด์Šค ํ‘œ๊ธฐ๋ฒ•

์ฃผ๋กœ ์ƒ์ˆ˜์˜ ์ด๋ฆ„์„ ์ง€์ •ํ•  ๋•Œ ์‚ฌ์šฉ

seoul_food (O)
SeoulFood (X)

3) PascalCase, ํŒŒ์Šค์นผ์ผ€์ด์Šค

์ฃผ๋กœ ํด๋ž˜์Šค์˜ ์ด๋ฆ„์„ ์ง€์ •ํ•  ๋•Œ ์‚ฌ์šฉ

SeoulFood (O)
Seoul_Food (X)

์ž…๋ ฅ๋ฐ›๊ธฐ

๊ธฐ๋ณธ์ ์œผ๋กœ ์ž…๋ ฅ๋ฐ›๋Š” ๊ฒƒ์€ ๋ฌธ์ž์—ด์ด๋‹ค.

๋ฌธ์ž์—ด ์ž…๋ ฅ๋ฐ›๊ธฐ

val dataString = readLine()
println("๋‚˜๋Š” ${dataString }๋ฅผ ์ž…๋ ฅํ–ˆ์–ด์š”!")
>> ์ฝ”ํ‹€๋ฆฐ
๋‚˜๋Š” ์ฝ”ํ‹€๋ฆฐ๋ฅผ ์ž…๋ ฅํ–ˆ์–ด์š”!

์ˆซ์ž ์ž…๋ ฅ๋ฐ›๊ธฐ

val dataNumber = readLine()!!.toInt()
val sum = dataNumber + 3
println("์ž…๋ ฅ์€ ${dataNumber}์ธ๋ฐ 3์„ ๋”ํ•ด์„œ ${sum }์ด์˜ˆ์š”!")
>> 3
์ž…๋ ฅ์€ 3์ธ๋ฐ 3์„ ๋”ํ•ด์„œ 6์ด์˜ˆ์š”!

์ž๋ฃŒํ˜•

๋น„ํŠธ๋Š” ์ปดํ“จํ„ฐ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ ํ•œ์นธ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ์‰ฝ๋‹ค.
์ œํ•œ์ ์ธ ์ž์›์„ ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ ์ ˆํ•œ ์ž๋ฃŒํ˜•์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค.


๋ณ€์ˆ˜

var ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉ. ๊ฐ’์ด ๋ณ€ํ•  ์ˆ˜ ์žˆ์Œ

// var name:String = "์ฐธ์ƒˆ"
var name = "์ฐธ์ƒˆ"
println("์ƒˆ์˜ ์ด๋ฆ„์„ ์ €์žฅํ•˜๋Š” name ๋ณ€์ˆ˜์—๋Š” ${name}๊ฐ€ ๋“ค์–ด์žˆ์–ด")

name = "์กฐ๋กฑ๋ฐ•์ด" // name๋ณ€์ˆ˜์— ๋“ค์–ด์žˆ๋˜ "์ฐธ์ƒˆ" ๋Œ€์‹ ์— "์กฐ๋กฑ๋ฐ•์ด"๋ฅผ ๋Œ€์ž…
println("๋ณ€๊ฒฝํ•œ ๋ณ€์ˆ˜ name์—๋Š” ${name}๊ฐ€ ๋“ค์–ด์žˆ์–ด")
>> ์ƒˆ์˜ ์ด๋ฆ„์„ ์ €์žฅํ•˜๋Š” name ๋ณ€์ˆ˜์—๋Š” ์ฐธ์ƒˆ๊ฐ€ ๋“ค์–ด์žˆ์–ด
๋ณ€๊ฒฝํ•œ ๋ณ€์ˆ˜ name์—๋Š” ์กฐ๋กฑ๋ฐ•์ด๊ฐ€ ๋“ค์–ด์žˆ์–ด

์ƒ์ˆ˜

val ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉ. ๊ฐ’์ด ๋ณ€ํ•  ์ˆ˜ ์—†์Œ

val num1 = 1
println("๋‚ด ์ฒซ๋ณ€์ˆ˜ num1 ๋ณ€์ˆ˜์—๋Š” ${num1}์ด ๋“ค์–ด์žˆ์–ด")

// Val cannot be reassigned ์—๋Ÿฌ ๋ฐœ์ƒ!!
// num1์€ var์ด ์•„๋‹ˆ๋ผ val์ด๊ธฐ๋•Œ๋ฌธ์— ๋“ค์–ด์žˆ๋Š” ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜์ง€ ๋ชปํ•จ
num1 = 5

println("๋ณ€๊ฒฝํ•œ ๋ณ€์ˆ˜ num1 ๋ณ€์ˆ˜์—๋Š” ${num1}์ด ๋“ค์–ด์žˆ์–ด")
>> Val cannot be reassigned
profile
๋‚ด๊ฐ€ ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ฒŒ ์“ฐ๋Š” ๋ธ”๋กœ๊ทธ

0๊ฐœ์˜ ๋Œ“๊ธ€