본문 바로가기
[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.
[Effective Objective-C] #48 반복문에는 블록 열거를 사용하라 [Effective Objective-C] #48 반복문에는 블록 열거를 사용하라 출처 : Effective Objective-C -최신 오브젝티브-C 에는 열거하는 방법이 많다.표준 C 반복문부터 오브젝티브-C 1.0의 NSEnumerator, 그리고 오브젝티브-2.0 의 빠른 열거자(fast enumeration)도 있다. for 루프 -컬렉션을 열거하는 첫 번째 메서드는 훌륭하고 오래된 방법인 for 루프다.NSArray *anArray = …;for (int i=0; i < anArray.count; i++){ id object = anArray[i]; // do something} 이 방법은 쓸만하지만 사전이나 집합을 반복하면 훨씬 복잡해진다.NSDictionary *aDictionary = ….. 2017. 10. 15.
[Kotlin Tutorial] 한 차원 높은 함수 : 람다를 parameter 와 return value 로 - Chap8. Higher-order functions: lambdas as parameters and return values [Kotlin Tutorial] 한 차원 높은 함수 : 람다를 parameter 와 return value 로 - Chap8. Higher-order functions: lambdas as parameters and return values 참조 : Kotlin in action 8.1. Declaring higher-order functions -Higher-order function 이란 argument 와 return 으로 다른 function 을 갖는 것을 의미한다.Kotlin 에서는 function 이 lambda 나 function reference 로 표시된다. 8.1.1. Function types -val sum = { x:Int, y:Int -> x+y }val action = { pr.. 2017. 8. 31.
[Kotlin Tutorial] Operator overload 와 convention #1 - Chap7. Operator overloading and other conventions [Kotlin Tutorial] Operator overload 와 convention #1 - Chap7. Operator overloading and other conventions 참조 : Kotlin in action -Java 에는 특정 class 에 결속되어 있는 언어적 기능이 있다.예를 들어 Iterable 를 구현하면 for loop 에서 쓸 수 있고, AutoCloseable 을 구현하면 try-with-resources 에서 사용할 수 있다. Kotlin 도 비슷한 것들이 있다.그러나 specific type 에 결속된 것이 아니라 specific name 에 결속되는 기능들이 있다.예를 들어 plus 라는 이름으로 class 에 function 을 추가하면, + operator 를 해.. 2017. 8. 24.
[Effective Java] 종전의 for 루프보다는 for-each 루프를 사용하자. [Effective Java] 종전의 for 루프보다는 for-each 루프를 사용하자. - for-each 문은 Iterable 인터페이스를 구현하는 어떤 객체도 반복 처리가 가능하다. Iterable 은 다음과 같이 정의된 interface 이다. public interface Iterable{ Iterator iterator();} Iterable 인터페이스 구현은 어렵지 않다. Summary for-each 루프는 종전 for 루프에 비해 많은 장점을 제공한다. 성능 저하가 없으면서 명료하고 버그를 방지해준다. for-each 루프를 사용할 수 없는 경우는 3 가지가 있다. 1. 필터링(filtering) - 어떤 컬렉션의 요소들을 오가면서 선택된 요소들을 삭제할 필요가 있다면 명시적 iterat.. 2017. 1. 26.
반응형