μ•ˆλ“œλ‘œμ΄λ“œ

[Kotlin] μ½”ν‹€λ¦°μ΄λž€?

육볡 2020. 2. 29. 22:56

KOTLIN

κ°œμš” 

  1. Kotlin에 λŒ€ν•œ 배경지식을 μ΄ν•΄ν•œλ‹€.
  2. Kotlin의 μž₯점에 λŒ€ν•΄ μ΄ν•΄ν•œλ‹€. 
  3. Kotlin의 μ „λ°˜μ μΈ 아이디어에 λŒ€ν•΄ μ΄ν•΄ν•œλ‹€.

 

Kotlin


코틀린은 IntelliJ IDEAλΌλŠ” 톡합 개발 ν™˜κ²½μœΌλ‘œ 유λͺ…ν•œ JetBrainsμ—μ„œ κ°œλ°œν•œ μ–Έμ–΄μž…λ‹ˆλ‹€. κ΅¬κΈ€μ˜ μ•ˆλ“œλ‘œμ΄λ“œ μŠ€νŠœλ””μ˜€λ„ IntelliJ IDEA기반이며 μ½”ν‹€λ¦° μ–Έμ–΄λ₯Ό κ³΅μ‹μ μœΌλ‘œ μ§€μ›ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

 

코틀린은 JVM,JS,Native μƒμ—μ„œ 싀행될 수 있으며, JVM 기반의 코틀린은 μžλ°” μ—ν”Œλ¦¬μΌ€μ΄μ…˜, μ•ˆλ“œλ‘œμ΄λ“œ μ—ν”Œλ¦¬μΌ€μ΄μ…˜μ€ λ§Œλ“€ 수 있으며 JS 기반의 코틀린은 ν’€μŠ€νƒ μ›Ή 개발, Native 기반의 코틀린은 LLVM 컴파일러λ₯Ό 톡해 νŠΉμ • ν”Œλž«νΌμ„ νƒ€κΉƒμœΌλ‘œ ν•œ κΈ°κ³„μ˜ μ½”λ“œλ₯Ό λ§Œλ“€ 수 μžˆμŠ΅λ‹ˆλ‹€.

 

 

μ½”ν‹€λ¦°μ˜ μž₯점 


  • μžλ£Œν˜• 였λ₯˜λ₯Ό 미리 μž‘μ„ 수 μžˆλŠ” 정적 μ–Έμ–΄μž…λ‹ˆλ‹€.
코틀린은 ν”„λ‘œκ·Έλž¨μ΄ 컴파일될 λ•Œ μžλ£Œν˜•μ„ κ²€μ‚¬ν•˜μ—¬ ν™•μ •ν•˜λŠ” 정적 μ–Έμ–΄μž…λ‹ˆλ‹€. 

 

  • 널 포인터 μ˜ˆμ™Έλ‘œ μΈν•œ ν”„λ‘œκ·Έλž¨μ˜ 쀑단을 μ˜ˆλ°©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 
κ°œλ°œμžμ—κ²Œ NPE에 λŒ€ν•œ λ¬Έμ œλŠ” κ½€λ‚˜ 골치 μ•„ν”ˆ 문제 쀑 ν•˜λ‚˜μž…λ‹ˆλ‹€. ν•˜μ§€λ§Œ 코틀린은 μ΄λŸ¬ν•œ κ³¨μΉ˜μ•„ν”ˆ NPE문제λ₯Ό μ˜ˆλ°©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

 

  • μ•„μ£Ό κ°„κ²°ν•˜κ³  νš¨μœ¨μ μž…λ‹ˆλ‹€. 
코틀린은 μ—¬λŸ¬ κ°€μ§€ μƒλž΅λœ ν‘œν˜„μ΄ κ°€λŠ₯ν•œ μ–Έμ–΄μž…λ‹ˆλ‹€. λ”°λΌμ„œ λ‹€λ₯Έ 언어듀에 λΉ„ν•΄ μ’€ 더 μš°μ•„ν•œ μ½”λ“œλ₯Ό μž‘μ„±ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

 

  • ν•¨μˆ˜ν˜• ν”„λ‘œκ·Έλž˜λ°κ³Ό 객체 μ§€ν–₯ ν”„λ‘œκ·Έλž˜λ°μ΄ λͺ¨λ‘ κ°€λŠ₯ν•©λ‹ˆλ‹€.
ν•¨μˆ˜λ₯Ό λ³€μˆ˜μ— μ €μž₯ν•˜κ±°λ‚˜ ν•¨μˆ˜λ₯Ό λ‹€λ₯Έ ν•¨μˆ˜μ˜ λ§€κ°œλ³€μˆ˜λ‘œ λ„˜κΈΈ 수 μžˆλŠ” ν•¨μˆ˜ν˜• ν”„λ‘œκ·Έλž˜λ°κ³Ό ν΄λž˜μŠ€μ™€ 객체λ₯Ό μ‚¬μš©ν•˜λŠ” 객체 μ§€ν–₯ ν”„λ‘œκ·Έλž˜λ°μ„ λ‘˜ λ‹€ ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

 

  • 세미클둠을 μƒλž΅ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
μ½”λ“œλ₯Ό μž‘μ„±ν•  λ•Œ 늘 λΆ™μ΄λ˜ 세미클둠을 μƒλž΅ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 

 

  • Java, μ•ˆλ“œλ‘œμ΄λ“œμ™€ μ™„λ²½ν•œ ν˜Έν™˜μ΄ κ°€λŠ₯ν•©λ‹ˆλ‹€. 
Kotlin은 κ°œλ°œμ½”λ“œκ°€ Java클래슀둜 λΉŒλ“œλ˜μ–΄ JVMμ—μ„œ λ™μž‘ν•˜κΈ° λ•Œλ¬Έμ— ν˜Έν™˜μ΄ κ°€λŠ₯ν•©λ‹ˆλ‹€. 

 

Reference 

Do it! μ½”ν‹€λ¦° ν”„λ‘œκ·Έλž˜λ° - μ΄μ§€μŠ€ 퍼블리싱 - ν™©μ˜λ• μ§€μŒ 

https://smilek1225.tistory.com/7

 

1 | μ½”ν‹€λ¦°(Kotlin) μ†Œκ°œμ™€ νŠΉμ§•

μ•ˆλ…•ν•˜μ„Έμš” 이번 포슀트 μ „κΉŒμ§€λŠ” 항상 이둠을 μ •λ¦¬ν•˜λŠ” '곡톡 기초'κΈ€λ§Œ μž‘μ„±ν–ˆλŠ”λ° 이 글을 μ“°λ©΄μ„œ κ°œμΈκ³΅λΆ€μ™€ μ •λ³΄κ³΅μœ  두가지 효과λ₯Ό 보고 μ‹ΆμŠ΅λ‹ˆλ‹€γ…Žγ…Ž μ˜€λŠ˜κΉŒμ§€λŠ” μ†Œκ°œμ΄κ³  λ‹€μŒ μ½”ν‹€λ¦° ν¬μŠ€νŠΈλΆ€ν„° μ½”λ”©κ³Ό..

smilek1225.tistory.com