Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Kotlin.md

11,301 views

Published on

Kotlin 맛보기, about Kotlin

Published in: Technology

Kotlin.md

  1. 1. Kotlin 맛보기 우명인
  2. 2. Kotlin About JetBrains ● July 2011 ● Better Java ● Migration Java JVM (자바 호환) Android, Tomcat, JS, Html5... OOP & FP
  3. 3. Kotlin FP in Kotlin Immutable Lambda, Higher-Order function Collection Apis Lazy Evaluation
  4. 4. FP in Kotlin Immutable
  5. 5. FP in Kotlin Immutable Immutable값을 사용해 sideEffect를 최소화 할 수 있습니다. value (readOnly) variable
  6. 6. FP in Kotlin Lambda, Higher-Order function
  7. 7. FP in Kotlin CollectionApis
  8. 8. FP in Kotlin CollectionApis
  9. 9. FP in Kotlin Lazy evaluation
  10. 10. FP in Kotlin Lazy evaluation Lazy and Cache 연산은 최초 한번만 수행 일반 메소드는 연산을 매번 수행
  11. 11. Kotlin Advantages Null safe Data class Singleton Extentions
  12. 12. Advantages NullSafe
  13. 13. Advantages Data class ?
  14. 14. Advantages - toString() - equals() / hashCode() - copy() - component()N data class가 내부적으로 생성해주기 때문에 별도의 구현 없이 사용 할 수 있습니다.
  15. 15. Advantages Singleton
  16. 16. init {..} 은 instance가 생성 될때 최초에 호출되는 function 입니다. 일반적으로 object는 우리가 알고 있는 singleton을 의미합니다. instance를 2번 콜 하지만 실제로 instance는 한번만 생성 되었기 때문에 init은 최초에 한번만 생성이 됩니다. singleton이기 때문에 firstSingleton에서 값을 set한 str을 secondSingleton에서도 사용이 가능합니다.
  17. 17. Advantages Extenstions
  18. 18. plusString은 String에서 지원하지 않는 메소드 입니다. 하지만 KotlinExtenstions을 이용해 마치 String에 있는 메소드 처럼 사용 할 수 있습니다. add10 또한 Int가 지원하지 않지만, 마치 Int가 제공하는 메소드 처럼 사용 할 수 있습니다. 이렇게 유틸성 메소드들을 만들어 사용하면 굉장히 편리하지만, Object에 관련이 있는 메소드들만 extenstion 하길 권장합니다. 무분별한 사용은 코드 관리가 어려워 지고, Object가 애매하거나 모호해 질수 있습니다.
  19. 19. Kotlin Weakness Patter Matches Either Etc..
  20. 20. Weakness Pattern Matches Scala Kotlin
  21. 21. Weakness Either kotlin is not support scala code
  22. 22. Summary scala, haskell 등 다른 언어들과 비교하면 아직 지원하지 않거나, 불편한 점도 가지고 있습니다. 하지만 update 시기가 상당히 빠르며, 다른 언어들의 장점 들을 많이 흡수 하고 있습니다. Slack이나 커뮤니티를 통해 사용자들과 많은 커뮤니케이션을 하고 있어, 요구사항이나 버그에 항상 귀를 기울이고 있고, 피드백에 적극적으로 대응하고 있습니다. Android 같은 경우에는 당장 Java를 대체 할 수도 있습니다. 해외에서는 백엔드나 프론트에서도 관심이 많다고 합니다. Kotlin은 Java 보다 생산성 측면에 있어 월등히 좋다고 말할 수 있습니다. OOP or FP 를 고민하는건 좀 더 심 각한 문제고, Java 코드를 Kotlin 코드로 적용 하는 것 만으로도 충분히 가치가 있다고 생각됩니다. (immutable, nullSafe, lambda 등등) FP에 관심이 있다면 FunFunStudy로!!

×