본문 바로가기
[Java8 In Action] #16 결론 그리고 자바의 미래 [Java8 In Action] #16 결론 그리고 자바의 미래 Java8 In Action 내용을 보며 정리한 내용입니다.정리자는 기존에 Java8 을 한차례 rough 하게 공부한 적이 있고, Kotlin 역시 공부한 적이 있습니다.위의 prerequisite 가 있는 상태에서 추가적인 내용만 정리한 내용이므로, 제대로 공부를 하고 싶다면 책을 구매해서 보길 권장합니다! 16.1. 자바 8의 기능 리뷰 -자바 8에 큰 변화가 생긴 이유는 두 가지 추세 때문이다. 한 가지 추세는 멀티코어 프로세서의 파워를 충분히 활용해야 한다는 것. 무어의 법칙에 따라 실리콘 기술이 발전하면서 개별 CPU 코어의 속도가 빨라지고 있다. 즉, 코드를 병렬로 실행해야 더 빠르게 코드를 실행할 수 있다. 데이터 소스를 이용.. 2019. 1. 5.
[Java8 In Action] #15 OOP 와 FP 의 조합 : 자바8과 스칼라 비교 [Java8 In Action] #15 OOP 와 FP 의 조합 : 자바8과 스칼라 비교 Java8 In Action 내용을 보며 정리한 내용입니다.정리자는 기존에 Java8 을 한차례 rough 하게 공부한 적이 있고, Kotlin 역시 공부한 적이 있습니다.위의 prerequisite 가 있는 상태에서 추가적인 내용만 정리한 내용이므로, 제대로 공부를 하고 싶다면 책을 구매해서 보길 권장합니다! -스칼라는 객체지향과 함수형 프로그래밍을 혼합한 언어다.스칼라는 자바에 비해 많은 기능을 제공한다.스칼라는 복잡한 형식 시스템, 형식 추론, 패턴 매칭, 도메인 전용 언어를 단순하게 정의할 수 있는 구조 등을 제공한다.스칼라 코드에서는 모든 자바 라이브러리를 사용할 수 있다. 자바8과 마찬가지로 스칼라는 컬렉.. 2019. 1. 4.
[Java8 In Action] #3 람다 표현식 [Java8 In Action] #3 람다 표현식 Java8 In Action 내용을 보며 정리한 내용입니다.정리자는 기존에 Java8 을 한차례 rough 하게 공부한 적이 있고, Kotlin 역시 공부한 적이 있습니다.위의 prerequisite 가 있는 상태에서 추가적인 내용만 정리한 내용이므로, 제대로 공부를 하고 싶다면 책을 구매해서 보길 권장합니다! 3.1. 람다란 무엇인가? -람다 표현식은 메서드로 전달할 수 있는 익명 함수를 단순화 한 것이다. 익명 이름이 없으므로 익명이라 한다. 함수 메서드처럼 특정 클래스에 종속되지 않으므로 함수라고 부른다. 하지만 메서드처럼 파라미터 리스트, 바디, 반환 형식, 가능한 예외 리스트를 포함한다. 전달 람다 표현식을 메서드 인수로 전달하거나 변수로 저장할.. 2018. 12. 23.
[android] Java8 을 사용해보자! [android] Java8 을 사용해보자! https://developer.android.com/studio/preview/features/java8-support.html Android 에서 Java8 사용하기 -Android Studio 2.4 Preview 4 이상부터 모든 Java7 과 Java8 언어 특성을 지원한다. -Java7 을 사용하더라도 JDK8 을 이용해서 컴파일하므로 JDK8 은 필요하다. -이전에는 Jack Compiler 를 사용해야 Java8 Compile 이 가능했는데,이제는 desugar 라는 bytecode transformation 만 있으면 된다.Jack 이 더 이상 필요하지 않다. Jack 을 사용하고 있었다면 build.gradle 에서 그 녀석부터 없애라! -J.. 2018. 10. 2.
[Kotlin] Kotlin 의 숨겨진 비용 #3 [Kotlin] Kotlin 의 숨겨진 비용 #3 https://medium.com/@BladeCoder/exploring-kotlins-hidden-costs-part-3-3bf6e0dbf0a4 Delegated property -class Example{ var p: String by Delegate()} property 에 delegate 를 사용할 경우에 해당 delegate 는 operator function 인 getValue 와 setValue 를 구현해야 한다.해당 function 들은 object instance 와 property metadata 를 받는다. public final class Example{ @NonNull private final Delegate p$delegate =.. 2018. 1. 18.
[Kotlin] Kotlin 의 숨겨진 비용 #2 [Kotlin] Kotlin 의 숨겨진 비용 #2 https://medium.com/@BladeCoder/exploring-kotlins-hidden-costs-part-2-324a4a50b70 Local functions -local function 의 limit 은 inline 으로 정의될 수 없다는 것 ( 글 쓴 당시까지는, 현재버전에서 꼭 체크해보라 ).그리고 local function 을 가지고 있는 녀석도 inline 이 될 수 없다.fun someMth(a: Int): Int { fun sumSquare(b: Int) = (a+b) * (a+b) return sumSquare(1) + sumSqaure(2)} local function 은 Function object 로 바뀐다.public .. 2018. 1. 17.
[Kotlin Tutorial] Annotation 과 Reflection #2 [Kotlin Tutorial] Annotation 과 Reflection #2 참조 : Kotlin in action 10.2. Reflection: introspecting Kotlin objects at runtime -Kotlin 에서의 reflection 은 java.lang.reflect package 의 API 들과 kotlin.reflect package 의 API 들을 사용한다.Kotlin 의 reflection 은 Java 에 없는 nullable type 이나 properties 들의 접근을 가능하게 한다. -runtime lib 의 size 를 줄이기 위해, kotlin 의 reflection API 는 kotlin-reflect.jar 라는 별개의 jar 로 pakcage 되어 있.. 2017. 9. 12.
[Kotlin Tutorial] Annotation 과 Reflection #1 - Chap 10. Annotations and reflection [Kotlin Tutorial] Annotation 과 Reflection #1 - Chap 10. Annotations and reflection 참조 : Kotlin in action 10.1. Declaring and applying annotations. 10.1.1. Applying annotations -Annotation 사용법은 Java 와 동일하다. @ 를 prefix 로 하고 annotation name 을 써주면 된다. -@Deprecated 의 경우 Kotlin 은 Java 의 것에서 향상되었다.replaceWith parameter 가 추가되어, 새로운 version 의 API 에 연결될 수 있다.@Deprecated(“Use removeAt(index) instead.”, Rep.. 2017. 9. 7.
[Kotlin Tutorial] 함수 정의하고 호출하기 #2 [Kotlin Tutorial] 함수 정의하고 호출하기 #2 참조 : Kotlin in Action 3.4. Working with collections: Varargs, Infix calls, and Library support 3.4.1. Extending the Java collections API -val strings: List = listOf(“first”, “second”, “thrid”)strings.last() val numbers: Collection = setOf(1, 14, 2)numbers.max() last 와 max 는 extension 이다.이 외에도 많이 있으니 IDE 의 code completion 을 잘 활용해보시라~ 3.4.2. Varargs: functions tha.. 2017. 8. 3.
반응형