일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- crawler
- ML
- function
- 플러터
- DART
- Android
- 파이썬
- python
- 다트
- Yocto
- 코틀린
- kotlin
- variable
- 함수
- import
- package
- pushnamed
- 클래스
- 웹크롤러
- text
- 크롤러
- Collection
- 콜렉션
- animation
- Class
- List
- set
- map
- Flutter
- textstyle
- Today
- Total
목록코틀린 (38)
조용한 담장
코틀린(kotlin) 의 인라인 함수 (inline function) 을 살펴보자. 원문 https://kotlinlang.org/docs/reference/inline-functions.html 을 보며 정리. 고차함수(higher-order functions) 를 사용한다는 것은 어느정도의 런타임 패널티를 가지게 되는 셈이다. 고차함수에서 사용되는 각 함수는 object 가 되며 closure 를 가지고 있게 되는데 이는 함수의 body 내에서 접근되는 변수들도 가지고 있다는 말이 된다. 함수 오브젝트와 클래스를 위해 메모리를 할당하고 가상 호출(virtual call) 이 일어나는 것은 런타임 오버헤드를 가진다. 하지만 많은 경우에 이런 오버헤드는 람다 표현식을 인라인 방식으로 적용함으로 써 제거될..
코틀린의 고차함수(higher-order function) 와 람다(lambda)에 대해 살펴보자. 원문 https://kotlinlang.org/docs/reference/lambdas.html 을 보며 정리. 코틀린 함수는 first-class 이다. 이는 함수가 변수나 data structures 에 저장되거나 argument 로 전달되거나 다른 higher-order 함수로 부터 리턴될 수 있다는 의미이다. 이를 위해 코틀린은 statically typed programming language 로써, 함수를 나타내기 위해 함수 타입 (function types)을 사용하며 람다 표현식(lambda expression) 같은 특별한 언어 구성들을 제공한다. Higher-Order Functions ..
코틀린(kotlin) 의 함수 (funciton) 에 대해 살펴보자. 원문 https://kotlinlang.org/docs/reference/functions.html 을 보며 정리. Function declarations 함수 정의는 fun 키워드를 사용한다. fun double(x: Int): Int { return 2 * x } Function usage 함수 호출 val result = double(2) 멤버 함수 호출 Stream().read() // create instance of class Stream and call read() Parameters 함수 파라미터는 Pascal notation 을 써서 정의한다. 각 파라미터는 type 이 정의되어야 한다. fun powerOf(numbe..
코틀린(kotlin) 클래스의 위임(delegation) 을 살펴보자. 원문 https://kotlinlang.org/docs/reference/delegation.html 을 보며 정리. Implementation by Delegation kotlin 은 상속의 대안이 되는 Delegation pattern 을 boilerplate code 없이 지원한다. 아래 예제에서, Derived 클래스는 자신의 모든 public 멤버들을 특정 오브젝트(BaseImpl)로 위임하여 Base 인터페이스를 구현할 수 있다. interface Base { fun print() } class BaseImpl(val x: Int) : Base { override fun print() { print(x) } } class ..