🎈Kotlin μ—¬ν–‰κΈ° 1일차

μ΄ν˜•μ§„Β·2020λ…„ 9μ›” 18일
0

μ½”ν‹€λ¦° μ—¬ν–‰κΈ°

λͺ©λ‘ 보기
1/5

μ£Όμ˜μ‚¬ν•­

λ°°μ›Œκ°€λŠ” 단계이기에 λΆ€μ •ν™•ν•œ 정보가 μ„œμˆ λ  수 μžˆμŠ΅λ‹ˆλ‹€.

였늘 κ°€λ³Έ κ³³

1. varκ³Ό val

μ½”ν‹€λ¦°μ˜ λ³€μˆ˜, μƒμˆ˜ μ„ μ–Έ λ°©μ‹μ—λŠ” varκ³Ό val이 μžˆμŠ΅λ‹ˆλ‹€.

var (Variable)

μžλ°”μ—μ„œλŠ” λ³€μˆ˜λ₯Ό μ„ μ–Έν•˜κΈ° μœ„ν•΄μ„œ
μžλ£Œν˜• λ³€μˆ˜λͺ…=λ³€μˆ˜ κ°’;의 ν˜•νƒœλ₯Ό κ°–μŠ΅λ‹ˆλ‹€.
ex) int num=15
μ €λŠ” 이것을 μ‰½κ²Œ μ΄ν•΄ν•˜κΈ° μœ„ν•΄μ„œ μžλ£Œν˜•μ„ ν˜•μš©μ‚¬λΌκ³  μƒκ°ν–ˆμŠ΅λ‹ˆλ‹€.

"int인 num을 μ„ μ–Έν•˜κ³  15λ₯Ό λ„£λŠ”λ‹€."

라고 μ΄ν•΄ν•˜λ©΄ 이해가 λΉ¨λžμ—ˆμ£ .

ν•˜μ§€λ§Œ μ½”ν‹€λ¦°μ—μ„œλŠ” 이 문법은 μ μš©λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
λͺ¨λ“  λ³€μˆ˜μ˜ μ„ μ–Έ 방식은 var둜 ν†΅μš©λ˜κΈ° λ•Œλ¬Έμ΄μ£ .
μ½”ν‹€λ¦°μ—μ„œλŠ” var λ³€μˆ˜λͺ…=κ°’μ˜ ν˜•νƒœλ‘œ λ³€μˆ˜λ₯Ό μ„ μ–Έν•  수 μžˆμŠ΅λ‹ˆλ‹€.
ex) var num=15
κ·Έλ ‡λ‹€λ©΄ num의 μžλ£Œν˜•μ΄ 무엇인지 μ»΄νŒŒμΌλŸ¬λŠ” μ–΄λ–»κ²Œ μ•Œμ•„λ“€μ„ 수 μžˆμ„κΉŒμš”?
코틀린은 λ³€μˆ˜μ— λŒ€μž…λœ 값을 보고 λ³€μˆ˜μ˜ μžλ£Œν˜•μ„ μΆ”λ‘ ν•©λ‹ˆλ‹€.
μ˜ˆμ‹œμ—μ„œλŠ” num λ³€μˆ˜μ— μ •μˆ˜ 15κ°€ λ“€μ–΄κ°”μœΌλ‹ˆ num의 μžλ£Œν˜•μ„ intν˜•μ΄λΌκ³  μΆ”λ‘ ν•  수 μžˆλŠ” 것이죠.
λ¬Όλ‘  μžλ£Œν˜•μ„ ν‘œκΈ°ν•˜λŠ” 것 λ˜ν•œ κ°€λŠ₯ν•©λ‹ˆλ‹€.
var λ³€μˆ˜λͺ… : μžλ£Œν˜• = κ°’μ˜ ν˜•νƒœλ‘œ μžλ£Œν˜•μ„ λͺ…μ‹œν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

val (Value)

var을 μ΄ν•΄ν–ˆλ‹€λ©΄ val은 별 것이 μ•„λ‹™λ‹ˆλ‹€.
val도 varκ³Ό 같은 λ°©μ‹μœΌλ‘œ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
ν•˜μ§€λ§Œ

var num=15
num=14

μœ„ μ½”λ“œλŠ” κ°€λŠ₯ν•˜μ§€λ§Œ

val num=15
num=13

μœ„ μ½”λ“œλŠ” λΆˆκ°€λŠ₯ν•©λ‹ˆλ‹€.
κ·Έ μ΄μœ λŠ” var은 값을 λ°”κΏ€ 수 μžˆλŠ” λ³€μˆ˜μ΄κ³ 
val은 값이 κ³ μ •λœ μƒμˆ˜μ΄κΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€.
즉, var은 값을 선언해도 μ–Έμ œλ‚˜ 값을 λ°”κΏ€ 수 있고
val은 값이 ν•œ 번 μ„€μ •λ˜λ©΄ λ‹€μ‹œλŠ” κ·Έ 값을 λ°”κΏ€ 수 μ—†μŠ΅λ‹ˆλ‹€.
ν†΅μƒμ μœΌλ‘œ 값을 μ„ μ–Έν•  λ•Œ, val둜 μ„ μ–Έν•œ λ’€, 값이 λ°”λ€ŒλŠ” 경우 var둜 κ΅μ²΄ν•˜λŠ” 방법을 μ‚¬μš©ν•©λ‹ˆλ‹€.

null

μ½”ν‹€λ¦°μ—μ„œλŠ” null의 μ²˜λ¦¬κ°€ λͺ…ν™•ν•©λ‹ˆλ‹€.
null에 λŒ€ν•œ 였λ₯˜λ₯Ό μ€„μ΄κ³ μž 기본적인 μžλ£Œν˜•μ€ null λΆˆκ°€λŠ₯ν•©λ‹ˆλ‹€.
ν•˜μ§€λ§Œ μžλ£Œν˜•μ— ?λ₯Ό λΆ™νž˜μœΌλ‘œ null이 κ°€λŠ₯ν•΄μ§‘λ‹ˆλ‹€.
ex)

var a:Int =null
//λΆˆκ°€λŠ₯
var b:Int? =null
//γ…†γ„±γ„΄

기타 사항

μ„ μ–Έ μ‹œ 연산을 넣을 수 μžˆμŠ΅λ‹ˆλ‹€.
ex)

var num=1+2+3
var fnum=num.toFloat()

2. ν•¨μˆ˜

ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄μ—μ„œ ν•¨μˆ˜λŠ” μ–΄λ– ν•œ κΈ°λŠ₯을 가진 μ½”λ“œλ₯Ό μž¬μ‚¬μš©ν•˜κΈ° 쉽도둝 λ¬ΆλŠ” κ²ƒμž…λ‹ˆλ‹€. μ½”ν‹€λ¦°μ—μ„œ ν•¨μˆ˜λŠ” fun ν•¨μˆ˜λͺ…(맀개 λ³€μˆ˜) : λ°˜ν™˜ μžλ£Œν˜•{κΈ°λŠ₯ μ½”λ“œ}의 ꡬ쑰둜 μ„ μ–Έν•©λ‹ˆλ‹€.
ex)

fun add(a:Int,b:Int):Int{
	return a+b
    }

μœ„ μ½”λ“œλŠ” λ§μ…ˆμ„ ν•˜λŠ” ν•¨μˆ˜λ₯Ό μ„ μ–Έν•œ κ²ƒμž…λ‹ˆλ‹€. fun을 톡해 addλΌλŠ” ν•¨μˆ˜λ₯Ό μ„ μ–Έν•˜κ³  μΈμžλ‘œλŠ” Intν˜•μΈ a와bλ₯Ό 전달 λ°›μ•˜μŠ΅λ‹ˆλ‹€. λ°˜ν™˜ν˜•μ€ Int이며 a+b의 값을 λ°˜ν™˜ν•©λ‹ˆλ‹€.

fun main(){
println(add(1,2))//addν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•˜μ—¬ λ°˜ν™˜ 값을 좜λ ₯ν•˜κΈ°γ…—
}

μ΄λ ‡κ²Œ 메인 ν•¨μˆ˜(μ‹€ν–‰λ˜λŠ” λΆ€λΆ„)μ—μ„œ ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•˜μ—¬ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

ν•¨μˆ˜μ˜ Default κ°’

Default 값은 κΈ°λ³Έ 값을 μ˜λ―Έν•©λ‹ˆλ‹€. ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•  λ•Œ 값을 넣어주지 μ•ŠμœΌλ©΄ μ‚¬μš©ν•  값을 Default 값에 λ„£μ–΄ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
μ‚¬μš© 방법은 fun ν•¨μˆ˜λͺ…(λ§€κ°œλ³€μˆ˜=Default):λ°˜ν™˜ μžλ£Œν˜•{κΈ°λŠ₯μ½”λ“œ}

λ°˜ν™˜ 값이 μ—†λŠ” ν•¨μˆ˜

ν•¨μˆ˜ μ€‘μ—μ„œ λ°˜ν™˜ 값이 ν•„μš”ν•˜μ§€ μ•Šμ€ ν•¨μˆ˜κ°€ μžˆμ„ μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.
그럴 λ•Œμ—” fun ν•¨μˆ˜λͺ…(λ§€κ°œλ³€μˆ˜):unit{κΈ°λŠ₯μ½”λ“œ}둜 λ°˜ν™˜ 값이 μ—†λŠ” ν•¨μˆ˜λ₯Ό λ§Œλ“€ 수 μžˆμŠ΅λ‹ˆλ‹€. 이 λ•Œ unit은 μƒλž΅ κ°€λŠ₯ν•©λ‹ˆλ‹€.

κ°„λ‹¨ν•œ ν•¨μˆ˜

κ°„λ‹¨ν•œ ν•¨μˆ˜λ₯Ό λ§Œλ“€ λ•Œμ—λŠ” fun ν•¨μˆ˜λͺ…(λ§€κ°œλ³€μˆ˜)=λ°˜ν™˜κ°’μ„ μ‚¬μš©ν•˜μ—¬ μ½”λ“œλ₯Ό 쀄일 수 μžˆλ‹€.

κ°€λ³€μΈμžλ₯Ό 가진 ν•¨μˆ˜

ν•¨μˆ˜μ˜ 인자 μˆ˜κ°€ λ°”λ€” 수 μžˆλŠ” ν•¨μˆ˜λŠ” λ§€κ°œλ³€μˆ˜λ₯Ό μ„ μ–Έν•  λ•Œ varargλ₯Ό μ‚¬μš©ν•˜μ—¬ λŒ€μ²˜ν•  수 μžˆλ‹€.
ex)

fun printAlot(vararg num : Int){
    for(number in num) {
        println(number)
    }
}

3. μ—°μ‚°μž

μ‚°μˆ  μ—°μ‚°μž

기본적인 사칙연산을 ν•˜λŠ” μ—°μ‚°μž
(+, -, *, %, /)

λŒ€μž… μ—°μ‚°μž

μš°λ³€μ˜ 값을 μ’Œλ³€μ— λŒ€μž…ν•˜λŠ” μ—°μ‚°μž(=)

볡합 λŒ€μž… μ—°μ‚°μž

μ‚°μˆ +λŒ€μž… μ—°μ‚°
+=(μ’Œλ³€μ˜ 값에 μš°λ³€μ„ λ”ν•œλ‹€), -=(μ’Œλ³€μ˜ 값에 μš°λ³€μ„ λΊ€λ‹€)
ex) a+=5λŠ” a=a+5와 κ°™λ‹€.

증감 μ—°μ‚°μž

  • ++(μ™Όμͺ½ 값에 1 λ”ν•˜κΈ°)
  • --(μ™Όμͺ½ 값에 1 λΉΌκΈ°)

비ꡐ μ—°μ‚°μž

값을 λΉ„κ΅ν•˜λŠ” μ—°μ‚°μž
(>,<,>=,<=,==)

논리 μ—°μ‚°μž

  • &&(λ‘˜ λ‹€ 참이면 μ°Έ)
  • ||(λ‘˜ 쀑 ν•˜λ‚˜λ§Œ 참이면 μ°Έ)
  • !(λΆ€μ •)

였늘의 μ†Œκ°

  • μ•„μ§κΉŒμ§€λŠ” κΈ°λ³Έ 쀑 기본이라 μ‰¬μš΄ 것 κ°™λ‹€.
  • νƒ€μž… μΆ”λ‘  λ„ˆλ¬΄ 쒋은 것 κ°™λ‹€.

0개의 λŒ“κΈ€