Hi-λžŒπŸ‘‹ High-λžŒβ˜€οΈ

#2 - λ³€μˆ˜μ™€ μžλ£Œν˜• λ³Έλ¬Έ

μ•± 개발/λ””λͺ¨μ˜ Kotlin κ°•μ’Œ

#2 - λ³€μˆ˜μ™€ μžλ£Œν˜•

ν•˜μ΄λžŒ 2021. 9. 23. 01:51

λ³Έ κΈ€μ˜ 정리 λ‚΄μš©μ€ 유튜브 채널 λ””λͺ¨μ˜ μ½”ν‹€λ¦° 기초 κ°•μ’Œλ₯Ό 기반으둜 μž‘μ„± λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

 

 

 

λ³€μˆ˜

 

μ½”ν‹€λ¦°μ—μ„œλŠ” λ³€μˆ˜λ₯Ό 두 κ°€μ§€ λ°©λ²•μœΌλ‘œ μ„ μ–Έν•œλ‹€.

  • var : κ°€λ³€ λ³€μˆ˜(variable), 일반적으둜 ν†΅μš©λ˜λŠ” λ³€μˆ˜λ‘œ μ–Έμ œλ“ μ§€ 읽고 μ“°κΈ°κ°€ κ°€λŠ₯ν•˜λ‹€.
  • val : λΆˆλ³€ λ³€μˆ˜(value), μ„ μ–Έμ‹œμ—λ§Œ μ΄ˆκΈ°ν™”κ°€ κ°€λŠ₯ν•˜λ©° 이후에 λ³€κ²½ν•  수 μ—†λ‹€. 

λ³€μˆ˜λŠ” μ„ μ–Έ μœ„μΉ˜μ— 따라 두 κ°€μ§€ μ΄λ¦„μœΌλ‘œ λΆˆλ¦°λ‹€.

  • Property(속성) : ν΄λž˜μŠ€μ— 선언될 경우
  • Local Variable(둜컬 λ³€μˆ˜) : ν΄λž˜μŠ€μ— μ„ μ–Έλ˜λŠ” 경우 외에, scope 내에 선언될 경우

- μ½”ν‹€λ¦°μ—μ„œμ˜ null

μ½”ν‹€λ¦°μ—μ„œλŠ” κΈ°λ³Έ λ³€μˆ˜μ—μ„œ null을 ν—ˆμš©ν•˜μ§€ μ•ŠλŠ”λ‹€. λ˜ν•œ λ³€μˆ˜μ— 값을 ν• λ‹Ήν•˜μ§€ μ•Šμ€ μ±„λ‘œ μ‚¬μš©ν•˜κ²Œ 되면 문법 μ—λŸ¬λ₯Ό ν‘œμ‹œν•˜κ³  μ»΄νŒŒμΌμ„ λ§‰μ•„μ£Όλ―€λ‘œ μ˜λ„μΉ˜ μ•Šμ€ λ™μž‘μ΄λ‚˜ null pointer exception 등을 μ›μ²œμ μœΌλ‘œ 차단해 μ€€λ‹€λŠ” μž₯점이 μžˆλ‹€.

 

- λ³€μˆ˜ μ΄ˆκΈ°ν™”

λ³€μˆ˜μ— 값을 ν• λ‹Ήν•˜λŠ” 것은 λ°˜λ“œμ‹œ μ„ μ–Έμ‹œμ— ν•  ν•„μš”λŠ” μ—†μœΌλ©°, λ³€μˆ˜λ₯Ό μ°Έμ‘°ν•˜μ—¬ μ‚¬μš©ν•˜κΈ° μ „κΉŒμ§€λ§Œ ν•΄μ£Όλ©΄ λœλ‹€. 

 

- nullable λ³€μˆ˜

λ³€μˆ˜λ₯Ό μ„ μ–Έν•  λ•Œ μžλ£Œν˜• 뒀에 λ¬ΌμŒν‘œλ₯Ό 뢙이면 null을 ν—ˆμš©ν•΄μ£ΌλŠ” nullable λ³€μˆ˜λ‘œ 선언해쀄 수 μžˆλ‹€. λ‹€λ§Œ nullable λ³€μˆ˜λŠ” null인 μƒνƒœλ‘œ μ—°μ‚°ν•  μ‹œ null point exception이 λ°œμƒν•  수 μžˆμœΌλ―€λ‘œ κΌ­ ν•„μš”ν•œ κ²½μš°μ— ν•œν•΄ μ£Όμ˜ν•΄μ„œ μ‚¬μš©ν•΄μ•Ό ν•œλ‹€.

 

 

 

 

μžλ£Œν˜•

 

κΈ°λ³Έ μžλ£Œν˜•

  • μ •μˆ˜ν˜• : Byte, Short, Int, Long
  • μ‹€μˆ˜ν˜• : Float, Double
  • λ¬Έμžν˜• : Char
  • λ…Όλ¦¬ν˜• : Boolean

μ •μˆ˜ν˜• 데이터λ₯Ό μ½”λ“œμ— 직접 ν‘œκΈ°ν•  λ•ŒλŠ” 10μ§„μˆ˜, 16μ§„μˆ˜, 2μ§„μˆ˜λ₯Ό ν‘œκΈ°ν•  수 μžˆλ‹€.

10μ§„μˆ˜μ˜ 경우, 기본적으둜 32λΉ„νŠΈ Intκ°€ λ””ν΄νŠΈμ΄λ©° Long νƒ€μž…μ˜ 10μ§„μˆ˜λ₯Ό μ‚¬μš©ν•  경우 숫자 뒀에 L을 뢙인닀. 

16μ§„μˆ˜μ˜ 경우 ‘0x’λ₯Ό μ•žμ— 뢙이고 2μ§„μˆ˜μ˜ 경우 ‘0b’λ₯Ό μ•žμ— 뢙인닀.

(*코틀린은 8μ§„μˆ˜ ν‘œκΈ°λ₯Ό μ§€μ›ν•˜μ§€ μ•ŠλŠ”λ‹€.)

 

μ‹€μˆ˜μ˜ 경우, 기본이 Double ν˜•μ΄λ©° μ†Œμˆ˜μ μ„ ν¬ν•¨ν•˜μ—¬ 숫자λ₯Ό μ“°κ±°λ‚˜ ν•„μš”μ‹œ μ§€μˆ˜ ν‘œκΈ°λ²•μ„ μΆ”κ°€ν•˜λ©΄ λœλ‹€.

(ex) 123.5e10

Float ν˜•μ˜ 경우 뒀에 μ†Œλ¬Έμž f λ˜λŠ” λŒ€λ¬Έμž Fλ₯Ό 뢙이면 16λΉ„νŠΈμ˜ float ν˜•μœΌλ‘œ μ·¨κΈ‰ν•œλ‹€.

 

문자의 경우, Charμ—λŠ” 문자 1개λ₯Ό 넣을 수 μžˆλ‹€. 캐릭터 값을 μ½”λ“œμ—μ„œ 직접 ν‘œκΈ°ν•  λ•ŒλŠ” 문자 ν•˜λ‚˜λ₯Ό μž‘μ€ λ”°μ˜΄ν‘œλ‘œ κ°μ‹Έμ„œ ν‘œκΈ°ν•œλ‹€. 

(*그리고 코틀린은 λ‚΄λΆ€μ μœΌλ‘œ λ¬Έμžμ—΄μ„ μœ λ‹ˆμ½”λ“œ 인코딩 쀑에 ν•œ 방식인 UTF-16 BE 둜 κ΄€λ¦¬ν•œλ‹€. λ”°λΌμ„œ κΈ€μž ν•˜λ‚˜ν•˜λ‚˜κ°€ 2bytes(16 bits)의 λ©”λͺ¨λ¦¬ 곡간을 μ‚¬μš©ν•œλ‹€. )

 

λ¬Έμžμ—΄ λ³€μˆ˜λŠ” λ”°μ˜΄ν‘œλ‚΄μ— μ“°λ©΄ λœλ‹€. μ—¬λŸ¬ μ€„λ‘œ 된 λ¬Έμžμ—΄μ„ 적을 λ•ŒλŠ” λ”°μ˜΄ν‘œ 3개λ₯Ό μ‚¬μš©ν•˜λ©΄ μ€„λ°”κΏˆμ΄λ‚˜ νŠΉμˆ˜λ¬ΈμžκΉŒμ§€ κ·ΈλŒ€λ‘œ λ¬Έμžμ—΄λ‘œ μ‚¬μš©ν•  수 μžˆλ‹€. (ex) """μ—¬λŸ¬μ€„μ˜ λ¬Έμžμ—΄"""

 

λ…Όλ¦¬ν˜•μ€ μ°Έ λ˜λŠ” κ±°μ§“, λ‘˜ 쀑 ν•˜λ‚˜λ₯Ό μ €μž₯ν•˜λŠ” 값이닀. Boolean 값을 μ½”λ“œμ—μ„œ 직접 ν‘œκΈ°ν•  κ²½μš°μ—λŠ” true, false라고 ν‘œκΈ°ν•΄μ£Όλ©΄ λœλ‹€.