μ½”ν‹€λ¦°

μ½”ν‹€λ¦°μ΄λž€μ½”ν‹€λ¦°μ€ JVM μœ„μ—μ„œ μ‹€ν–‰λ˜λŠ” μƒˆλ‘œμš΄ ν”„λ‘œκ·Έλž˜λ° 언어이닀. 코틀린은 κ°„κ²°ν•˜κ³  μ‹€μš©μ μ΄λ©°, μžλ°”μ™€μ˜ μƒν˜Έμš΄μš©μ„±μ„ μ€‘μ‹œν•œλ‹€. κΈ°μ‘΄ μžλ°” 라이브러리, ν”„λ ˆμž„μ›Œν¬μ™€ ν˜Έν™˜λ˜λ©°, μ„±λŠ₯도 μžλ°”μ™€ 같은 μˆ˜μ€€μ΄λ‹€. μ½”ν‹€λ¦° 맛보기//'데이터' 클래슀data class Person( val name: String, val age: Int? = null //null이 될 수 μžˆλŠ” νƒ€μž…(Int?)κ³Ό νŒŒλΌλ―Έν„° λ””ν΄νŠΈ κ°’)//μ΅œμƒμœ„ ν•¨μˆ˜fun main(args: Array) { val persons = listOf( Person("John"), Person("Mike", age = 27) //이름 뢙인 νŒŒλΌλ―Έν„° ) val oldest = persons.maxBy { it.age ?: 0 }..
ifλž€ifλŠ” 쑰건문을 λ‚˜νƒ€λ‚΄λŠ” ν‚€μ›Œλ“œλ‘œ, ν”„λ‘œκ·Έλž¨μ—μ„œ 쑰건에 따라 νŠΉμ •ν•œ μ½”λ“œ 블둝을 μ‹€ν–‰ν•˜λ„λ‘ ν•˜λŠ” κ΅¬μ‘°μž…λ‹ˆλ‹€. if문의 기본적인 κ΅¬μ‘°λŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.if (쑰건) { // 쑰건이 true일 λ•Œ μ‹€ν–‰λ˜λŠ” μ½”λ“œ 블둝} else { // 쑰건이 false일 λ•Œ μ‹€ν–‰λ˜λŠ” μ½”λ“œ 블둝} μ½”ν‹€λ¦°μ˜ ifμ½”ν‹€λ¦°μ˜ ifλŠ” ν‘œν˜„μ‹(expression)이 κ°€λŠ₯ν•˜κΈ° λ•Œλ¬Έμ— μžλ°”μ™€ 달리 값을 λ°˜ν™˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 이것은 μ½”λ“œλ₯Ό κ°„κ²°ν•˜κ²Œ μž‘μ„±ν•˜κ³  λ³€μˆ˜λ₯Ό μ΄ˆκΈ°ν™”ν•˜λŠ” 데 μœ μš©ν•©λ‹ˆλ‹€.// statementval a: Int = 100val b: Int = 200var c: Intif (a > b) { c = a} else { c = b}print(c) // 200// expressionval a: Int = 100..
'?', '?.', '?:', '!!'λž€μ½”ν‹€λ¦°μ—μ„œ 널 (null) μ²˜λ¦¬μ™€ κ΄€λ ¨λœ μ—°μ‚°μž 및 ν‘œν˜„λ²•μž…λ‹ˆλ‹€. ?μ½”ν‹€λ¦°μ—μ„œ ?λ₯Ό νƒ€μž… 뒀에 뢙이면 ν•΄λ‹Ή λ³€μˆ˜λ‚˜ 속성은 null 값을 κ°€μ§ˆ 수 μžˆλŠ” nullable νƒ€μž…μ΄ λ©λ‹ˆλ‹€. 이것은 ν•΄λ‹Ή λ³€μˆ˜κ°€ 값을 κ°–κ±°λ‚˜ null일 수 μžˆλ‹€λŠ” 것을 λͺ…μ‹œμ μœΌλ‘œ λ‚˜νƒ€λƒ…λ‹ˆλ‹€.//1val str: String = null //μ—λŸ¬//2val str: String? = null //μ‹€ν–‰ κ°€λŠ₯ ?.(Null Safe Call Operator)μ½”ν‹€λ¦°μ˜ ?. μ—°μ‚°μžλŠ” 널 μ•ˆμ „μ„±μ„ μ œκ³΅ν•˜κΈ° μœ„ν•΄ μ‚¬μš©λ˜λŠ” μ—°μ‚°μžμž…λ‹ˆλ‹€. 이 μ—°μ‚°μžλŠ” 객체가 null이 μ•„λ‹Œ κ²½μš°μ—λ§Œ λ©”μ†Œλ“œλ₯Ό ν˜ΈμΆœν•˜κ±°λ‚˜ 속성에 μ ‘κ·Όν•©λ‹ˆλ‹€. 객체가 null인 κ²½μš°μ—λŠ” μ˜ˆμ™Έλ₯Ό λ°œμƒμ‹œν‚€μ§€ μ•Šκ³  κ·ΈλŒ€λ‘œ null을 λ°˜ν™˜ν•©λ‹ˆλ‹€.//..
νƒ€μž… μΆ”λ‘ μ΄λž€μ½”ν‹€λ¦°μ€ 정적 νƒ€μž… μ–Έμ–΄μ΄μ§€λ§Œ, νƒ€μž…μ„ λͺ…μ‹œμ μœΌλ‘œ μ„ μ–Έν•˜μ§€ μ•Šμ•„λ„ λ³€μˆ˜μ˜ νƒ€μž…μ„ μΆ”λ‘ ν•  수 μžˆλŠ” "νƒ€μž… μΆ”λ‘ " κΈ°λŠ₯을 μ œκ³΅ν•©λ‹ˆλ‹€. μ΄λŠ” μ½”λ“œλ₯Ό κ°„κ²°ν•˜κ²Œ λ§Œλ“€κ³ , λ™μ‹œμ— 정적 νƒ€μž… κ²€μ‚¬μ˜ 이점을 μœ μ§€ν•  수 μžˆλ„λ‘ λ„μ™€μ€λ‹ˆλ‹€. μ½”ν‹€λ¦°μ˜ νƒ€μž… μΆ”λ‘  ν™œμš© μ˜ˆμ‹œ1. λ³€μˆ˜ μ„ μ–Έ μ‹œval name = "Mike" // λ¬Έμžμ—΄ νƒ€μž…μœΌλ‘œ μΆ”λ‘ val age = 25 // μ •μˆ˜ νƒ€μž…μœΌλ‘œ μΆ”λ‘ val pi = 3.14 // μ‹€μˆ˜ νƒ€μž…μœΌλ‘œ μΆ”λ‘  2. ν•¨μˆ˜ λ§€κ°œλ³€μˆ˜ μ„ μ–Έ μ‹œfun add(a: Int, b: Int): Int { return a + b}fun main() { val result = add(3, 5) println(result) // 8} 3. 단일 ν‘œν˜„μ‹ μ„ μ–Έ μ‹œfu..
var와 valμ΄λž€var와 val은 μ½”ν‹€λ¦° μ–Έμ–΄μ—μ„œ λ³€μˆ˜λ₯Ό μ„ μ–Έν•˜λŠ” 데 μ‚¬μš©λ˜λŠ” ν‚€μ›Œλ“œμž…λ‹ˆλ‹€. var읽기, μ“°κΈ°κ°€ κ°€λŠ₯fun main() { var a = 1 a = 2 print(a) // 2} val읽기만 κ°€λŠ₯ν•œλ²ˆ μ΄ˆκΈ°ν™”ν•˜λ©΄ 변경이 λΆˆκ°€λŠ₯fun main() { val a = 1 a = 2 print(a) // Val cannot be reassigned} * μ„ μ–Έκ³Ό λ™μ‹œμ— μ΄ˆκΈ°ν™”ν•˜μ§€ μ•Šμ„ 경우 νƒ€μž…μ„ λͺ…μ‹œν•΄μ€λ‹ˆλ‹€.fun main() { val a: Int a = 1 print(a) // 1}
Huijinn
'μ½”ν‹€λ¦°' νƒœκ·Έμ˜ κΈ€ λͺ©λ‘