[TIL] 2023.11.21

Gahyeon LeeΒ·2023λ…„ 11μ›” 21일
0

TIL

λͺ©λ‘ 보기
5/47
post-thumbnail

πŸ‘€νƒ€μž…μΆ”λ‘ 

λ³€μˆ˜λ‚˜ ν•¨μˆ˜λ“€μ„ μ„ μ–Έν•  λ•Œλ‚˜ 연산이 이루어 질 λ•Œ μžλ£Œν˜•μ„ μ½”λ“œμ— λͺ…μ‹œν•˜μ§€ μ•Šμ•„λ„ 코틀린이 μžλ™μœΌλ‘œ μžλ£Œν˜•μ„ μΆ”λ‘ ν•΄μ£ΌλŠ” κΈ°λŠ₯. λ³€μˆ˜κ°€ 선언될 λ•Œ ν• λ‹Ήλœ κ°’μ˜ ν˜•νƒœλ‘œ ν•΄λ‹Ή λ³€μˆ˜κ°€ μ–΄λ–€ μžλ£Œν˜•μ„ κ°€μ§€λŠ”μ§€ 좔둠이 κ°€λŠ₯ν•˜κΈ° λ•Œλ¬Έμ— μ•„λž˜μ™€ 같이 μžλ£Œν˜•μ„ μƒλž΅ν•  수 μžˆλ‹€.

val stringValue: String = "νƒ€μž…μΆ”λ‘ μ΄λž€?" 
val stringValue = "νƒ€μž…μΆ”λ‘ μ΄λž€?"    --> String μžλ£Œν˜• μƒλž΅ κ°€λŠ₯

val intArr: Array<Int> = awwyOf(1, 2, 3, 4, 5)
val intArr = awwyOf(1, 2, 3, 4, 5)        --> Array<Int> μžλ£Œν˜• μƒλž΅ κ°€λŠ₯

κΈ°λ³Έ μžλ£Œν˜•λ“€λ„ μ„ μ–Έμ‹œ 값을 ν• λ‹Ήλ§Œ ν•΄μ€€λ‹€λ©΄ λŒ€λΆ€λΆ„ μžλ£Œν˜•μ„ λͺ…μ‹œν•  ν•„μš”κ°€ μ—†λŠ”λ°, μžλ£Œν˜• 없이 값을 ν• λ‹Ήν•œλ‹€λ©΄ μ–΄λ–€ μžλ£Œν˜•μœΌλ‘œ μ§€μ •λ κΉŒ?
일반 μ •μˆ˜ν˜• λ¦¬ν„°λŸ΄μ„ ν• λ‹Ήν•˜λ©΄ Int, L이 뢙은 μ •μˆ˜ν˜• λ¦¬ν„°λŸ΄μ€ Long, 일반 μ‹€μˆ˜ν˜• λ¦¬ν„°λŸ΄μ€ Double, fκ°€ 뢙은 μ‹€μˆ˜ν˜• λ¦¬ν„°λŸ΄μ€ Floatν˜•μœΌλ‘œ μΆ”λ‘ λœλ‹€. λ˜ν•œ 16μ§„μˆ˜μ™€ 2μ§„μˆ˜λŠ” Intν˜•μœΌλ‘œ μΆ”λ‘ λ˜κ³ , Booleanκ³Ό Char μ—­μ‹œ μžλ£Œν˜• 없이도 좔둠이 κ°€λŠ₯ν•˜λ‹€.

var a = 1234
var b = 1234L
var c = 12.45
var d = 12.45f
var e = 0xABCD
var f = 0b0101010
var g = true
var h = 'c'

λ”°λΌμ„œ λ°˜λ“œμ‹œ νŠΉμ •ν•œ μžλ£Œν˜•μœΌλ‘œ μ§€μ •ν•΄μ•Όν•˜λŠ” 상황이 μ•„λ‹ˆλΌλ©΄ λŒ€λΆ€λΆ„μ€ μ½”ν‹€λ¦°μ˜ νƒ€μž…μΆ”λ‘  κΈ°λŠ₯을 μ΄μš©ν•˜μ—¬ μ½”λ“œλŸ‰μ„ 쀄일 수 μžˆλ‹€.


πŸ‘€ν•¨μˆ˜(function)

ν•¨μˆ˜λŠ” νŠΉμ •ν•œ 동적을 ν•˜κ±°λ‚˜ μ›ν•˜λŠ” 결과값을 μ—°μ‚°ν•˜λŠ”λ° μ‚¬μš©λ˜λŠ” κΈ°λŠ₯.

main()
println("")

κ°„λ‹¨ν•˜κ²Œ 3개의 Int μ •μˆ˜λ₯Ό λ”ν•˜λŠ” ν•¨μˆ˜λ₯Ό λ§Œλ“€μ–΄λ³΄μž. μ½”ν‹€λ¦°μ—μ„œ ν•¨μˆ˜λŠ” μ–΄λ””μ—λ‚˜ λ‘˜ 수 μžˆμ§€λ§Œ, μ§€κΈˆμ€ main ν•¨μˆ˜ λ°”κΉ₯에 ν•¨μˆ˜λ₯Ό λ§Œλ“€μ–΄ 보자.

λ³€μˆ˜λ₯Ό varμ΄λ‚˜ val둜 μ‹œμž‘ν•˜λ“― ν•¨μˆ˜λ„ function의 쀀말인 fun으둜 μ‹œμž‘ν•œλ‹€. ν•¨μˆ˜κ°€ λ°›μ•„μ•Ό ν•  Int μ •μˆ˜κ°’ a, b, cλ₯Ό 써주고 a, b, cλ₯Ό λ”ν•΄μ„œ λ°˜ν™˜ν•˜λŠ” κ°’μ˜ μžλ£Œν˜•μ„ 써쀀닀. 이λ₯Ό λ°˜ν™˜ν˜•μ΄λΌκ³  ν•˜κ³ , λ°˜ν™˜κ°’μ΄ μ—†λ‹€λ©΄ μƒλž΅ν•΄λ„ λ¬΄λ°©ν•˜λ‹€. μ½”ν‹€λ¦°μ—μ„œλŠ” Int끼리 λ”ν•˜λ©΄ Intκ°€ λ‚˜μ˜€λ―€λ‘œ λ°˜ν™˜ν˜•μ„ Int둜 μ§€μ •ν•΄ μ€€λ‹€. λ‹€μŒμ€ ν•¨μˆ˜μ˜ λ‚΄μš©μ„ λ§Œλ“€κΈ° μœ„ν•΄ μ€‘κ΄„ν˜Έλ₯Ό 써쀀닀. mainν•¨μˆ˜μ˜ λ‚΄μš©μ„ 적은 것 처럼 μ€‘κ΄„ν˜Έμ•ˆμ— ν•¨μˆ˜κ°€ ν•΄μ•Ό ν•  ꡬ문을 μ λŠ”λ‹€. μ—¬κΈ°μ„œλŠ” λ‹¨μˆœνžˆ a, b, cλ₯Ό λ”ν•œ 값을 λ°˜ν™˜ν•˜λŠ” λͺ©μ μ΄λ―€λ‘œ return a + b + c라고 써쀀닀.
ν•¨μˆ˜ μ•ˆμ—μ„œ return은 뒀에 μ˜€λŠ” 값을 λ°˜ν™˜ν•˜λŠ” ν‚€μ›Œλ“œλ‘œ return이 λ°œμƒν•œλ‹€λ©΄ ν•¨μˆ˜μ˜ 쀑간이더라도 값을 λ°˜ν™˜ν•˜κ³  ν•¨μˆ˜λ₯Ό μ’…λ£Œν•˜κ²Œ λœλ‹€.
fun addν•¨μˆ˜λ₯Ό μ‹€μ œλ‘œ μ‚¬μš©ν•˜κΈ° μœ„ν•΄ println으둜 addν•¨μˆ˜μ— 숫자λ₯Ό λ„£μ–΄ λ™μž‘μ‹œν‚€λ©΄ addν•¨μˆ˜μ˜ 결과값을 λ°˜ν™˜λ°›μ•„ println을 톡해 좜λ ₯λœλ‹€.

fun main() {
	println(add(5, 6, 7))
}
	
fun add(a: Int, b: Int, c: Int): Int{
	return a + b + c
}

이 ν•¨μˆ˜λŠ” μ—¬λŸ¬κ°€μ§€ 일을 ν•˜λŠ” 것이 μ•„λ‹Œ a, b, cλ₯Ό λ‹¨μˆœνžˆ λ”ν•΄μ„œ λ°˜ν™˜ν•˜λŠ” μ—­ν• λ§Œ ν•œλ‹€. 이럴 λ•ŒλŠ” ν•¨μˆ˜λ₯Ό μ’€ 더 κ°„λ‹¨ν•˜κ²Œ κΈ°μˆ ν•  수 μžˆλ„λ‘ 단일 ν‘œν˜„μ‹ ν•¨μˆ˜(single-expression function)λ₯Ό μ§€μ›ν•œλ‹€. μœ„μ—μ„œ λ§Œλ“  ν•¨μˆ˜μ™€ 같은 κΈ°λŠ₯의 ν•¨μˆ˜λ₯Ό 마치 λ³€μˆ˜μ— 결과값을 ν• λ‹Ήν•˜λ“― μ•„λž˜μ™€ 같이 식을 ν• λ‹Ήν•˜μ—¬ λ§Œλ“€ 수 μžˆλ‹€. λ˜ν•œ 단일 ν‘œν˜„μ‹ ν•¨μˆ˜μ—μ„œλŠ” λ°˜ν™˜ν˜•μ˜ νƒ€μž…μΆ”λ‘ μ΄ κ°€λŠ₯ν•˜λ―€λ‘œ λ°˜ν™˜ν˜•μ„ μƒλž΅ν•  수 μžˆλ‹€.

fun main() {
	println(add(5, 6, 7))
}
	
fun add(a: Int, b: Int, c: Int) = a + b + c

μ½”ν‹€λ¦°μ—μ„œ ν•¨μˆ˜λŠ” λ‚΄λΆ€μ μœΌλ‘œ κΈ°λŠ₯을 κ°€μ§„ ν˜•νƒœμ΄μ§€λ§Œ μ™ΈλΆ€μ—μ„œ λ³Ό λ•ŒλŠ” νŒŒλΌλ―Έν„°λ₯Ό λ„£λŠ”λ‹€λŠ” 점 μ™Έμ—λŠ” μžλ£Œν˜•μ΄ κ²°μ •λœ λ³€μˆ˜λΌλŠ” κ°œλ…μœΌλ‘œ μ ‘κ·Όν•˜λŠ”κ²Œ μ’‹λ‹€. κ·Έλž˜μ•Ό 이후에 배울 ν•¨μˆ˜ν˜• μ–Έμ–΄λΌλŠ” μ½”ν‹€λ¦°μ˜ μ€‘μš”ν•œ νŠΉμ§•μ„ μ΄ν•΄ν•˜κΈ° 쉽닀.


이 글은 μ•„λž˜ 유튜브 κ°•μ’Œλ₯Ό μ°Έκ³ ν•˜μ—¬ μž‘μ„±ν•œ κΈ€μž…λ‹ˆλ‹€.
https://www.youtube.com/watch?v=eMfQycxjAsg&list=PLQdnHjXZyYadiw5aV3p6DwUdXV2bZuhlN&index=4/

profile
코린이 κ°•μ•„μ§€ μ§‘μ‚¬πŸΆ

0개의 λŒ“κΈ€