์ต์์ ํ๋กํผํฐ ํด๋์ค์ ์์๋์ง ์์ ํ๋กํผํฐ๋ ์ ์ญ ๋ณ์/์์์ ์ญํ public/internal/private ๋ฑ์ ๊ฐ์์ฑ ์ง์ ์ด ๊ฐ๋ฅ private val prefix = "Hello, " fun main() { val name = readLine() ?: return println("$prefix$name") } ๋ฆ์ ์ด๊ธฐํ ์์ฑ์์์ ์ด๊ธฐํ ๋์ง๋ ์์ง๋ง, ํ๋ก๊ทธ๋จ ํ๋ฆ ์ ์ค์ฌ์ฉ ์๋ ์ด๊ธฐํ ๋๋ ๊ฒ์ด ๋ช
๋ฐฑํ ๋ณ์์๋ lateinit์ด๋ผ๋ ์์ฝ์ด๋ก ํ๊ธฐํ์ฌ null ๊ฐ์ด ๋ถ๊ฐํจ์ ํ๊ธฐํ ์ ์๋ค. ์ค์ ์ด๊ธฐํ๊ฐ ์๋ ๊ฒฝ์ฐ UninitializedPropertyAccessException์ด ๋ฐ์ํ๋ฏ๋ก !!๋ฅผ ์ฌ์ฉํ ๊ฒ๊ณผ ๋น์ทํ ํน์ฑ์ ๊ฐ์ง๋ค. (๊ฐ๋ฅํ๋ฉด by lazy ์ฌ์ฉ์ ๊ถ์ฅ) class ..
๐ปโ๏ธ์ ๊ณต๊ณต๋ถ/๊ฐ์ฒด์งํฅํ๋ก๊ทธ๋๋ฐ
์ง๋ฌธ ๊ฐ์ฒด์ ๊ตฌ์กฐ์ฒด์ ์ฐจ์ด์ ์? ํด๋์ค๋ ์์์ง์&์ฐธ์กฐ ํ์, ๊ตฌ์กฐ์ฒด๋ ๊ฐ ํ์, ์์ ๋ฐ ๋ฉ์๋ ์ง์ ํ์ง ์์. ํจ์๊ฐ ์๋ฃ๊ตฌ์กฐ ์์ผ๋ก ๋ค์ด์ค๋ฉด ์ด๋ค ์ฅ์ ์ด ์๊ธฐ๋๊ฐ? ์ ์ ๋ณด ์๋์ ๊ฐ์ฒด ๊ธฐ๋ฐ์์๋ง ๊ฐ๋ฅํ๊ฐ? ๋ฐ์์ ์ฌ์ฉ ํ ์ ์๊ฒ ์ ์ธ var time:Double private Set 4ํด๋์ค๋? ๋ณ์์ ๋ฉ์๋๋ฅผ ๊ฐ์ง๋ ํ์
์ ์ ์ํ๋ ๋จ์ ํด๋์ค ์ ์ธ class Person{ //ํ๋กํผํฐ var firstName: String = "" var familyName: String = "" var age: Int = 0 //๋ฉ์๋ fun fullName() = "$firstName $familyName" fun showMe() { println("${fullName()}: $age") } } ๊ฐ์ฒด์..
์ ํจ์ ๋ด ํจ์ ์ฌ์ฉ ์ด์ ํ๋ผ๋ฏธํฐ? ์ ํจํค์ง ์ด์ ๋ชจ๋๋ณ๋ก ๊ตฌ๋ถ, ํ์
์ ์ฉ์ด ์ ์๋ฐ์๋ ์๋ ์ฝํ๋ฆฐ์ ๊ธฐ๋ฅ(๋ฒ์: '..' 'unitl' ',') (์์: 'in') Kotlin ํจ์์ ์ import kotlin.math.PI // kotlin.math ํจํค์ง์์ PI ์์๋ฅผ ๊ฐ์ ธ์ด fun circleArea(radius: Double): Double { //ํจ์์ ์ ์ return PI*radius*radius } fun main() { print("Enter radius: ") val radius = readLine()!!.toDouble() println("Circle area: ${circleArea(radius)}") } fun circleArea(radius: Double): Dou..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWlTWb%2FbtsshrwYP6f%2Fb52BGEThkSNgfZ1payyUw1%2Fimg.png)
var/val(๋ถ๋ณ) ์ ๊ตฌ๋ณํ ๊น ๋ณํ๋๊ฒ ๋ง์ผ๋ฉด ๋ฌธ์ ๋ฅผ ์์ผํฌ ํ๋ฅ ์ด ๋๋ค. ์ฝ๋๋ถ์์ ์ฉ์ด ํ๋ก๊ทธ๋จ์ ์์ ์ฑ๊ณผ ์ฝ๋ ๋ถ์์ ์ฉ์ดํจ์ ์ฆ๊ฐ์ํค๊ธฐ ์ํด ์ฌ์ฉ Kotlin์ ๊ธฐ๋ณธ ์๋ฃํ๋ ๊ฐ์ฒด ์ทจ๊ธ์ ํ๋ค. ์? ์ด๋ ์ด๋ฌํ ์๋ฃํ๋ ๋ฉ์๋๋ฅผ ํธ์ถํ๊ณ ์์ฑ์ ์ ๊ทผํ ์ ์๋๋ก ํ๊ธฐ ์ํจ์ด๋ค. ์ด๋ก์จ ๊ธฐ๋ณธ ์๋ฃํ๊ณผ ๊ฐ์ฒด์ ์ฐจ์ด๋ก ์ธํ ํผ๋์ ์ค์ด๊ณ ํต์ผ์ฑ์ ํ๋ณดํ ์ ์๋ค. Kotlin์ Java์ JVM์ ๊ฐ๊น์ง๋ง, Kotlin์ Java๋ณด๋ค ๋ ๋์ ์์ค์ ์ถ์ํ ๊ณ์ธต์ ๊ฐ์ง๊ณ ์๋ค. ์ฝํ๋ฆฐ์ jvm์ฌ์ด์ ํํฐ(์ถ์ํ๊ณ์ธต)๊ฐ ์๋ค.java์์ ๊ฐ์ฒด๋ฉด jvm๋ ๊ฐ์ฒด/ ์ฝํ๋ฆฐ์ ์ค๊ฐ์ ์ธต์์ ๋ณํ ๊ฐ๋ฅ ๋ชจ๋ ๊ฒ์ ๊ฐ์ฒด๋ก ํํํ๋ ์ด์ Kotlin์ "๋ชจ๋ ๊ฒ์ด ๊ฐ์ฒด" ์ฒ ํ์ ์ ์ฉํ์ฌ ๊ฐ๊ฒฐํ๊ณ ์ผ๊ด๋ ํ๋ก๊ทธ๋..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FOlYax%2FbtssHAfjvIN%2Fjg8DQ7eIiB6SFLTE7wxW70%2Fimg.png)
๋ฉ์ธํจ์ fun main() { print("Hello") } ๋ณ์&์์ fun main() { var i = 10 var name = "ํด" var point = 3.14 } ์ฝํ๋ฆฐ์ ํ์
์ถ๋ก ์ด ๋๋ค. ์๋์ ๊ฐ์ ์ฝ๋ fun main() { var i:Int =10 var name:String ="ํด" var point:Double = 3.14 //์์๋ var ๋์ val val num = 20 } ํฑ ๋ ๋ฒจ ์์ const val ์๋ฐ์ ๋ฌ๋ฆฌ mainํจ์๋ฐ์ผ๋ก ์์๋ฅผ ๋บ ์ ์๋ค. ์ด๋ฅผ ํฑ ๋ ๋ฒจ ์์๋ผ ํ๋ค. main()๋ณด๋ค ์ฐ์ ์ผ๋ก ์ปดํ์ผ ๋๋ค. const val num = 20 fun main() { } ํ๋ณํ fun main() { var i = 10 var l = 20L l = i //์ค๋ฅ...