일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- androidx
- bash
- recyclerview
- 장자명언
- 오픈소스
- jetpack compose
- DART
- 이모지메모
- 파이썬
- 소울칼리버6
- Coroutine
- Android
- 1인개발자
- FSM
- 이모지
- 코틀린
- 공자명언
- Flutter
- kotlin
- Firebase
- Freesound
- 명언모음
- ASMR
- Streaming
- Linux
- 벤자민플랭클린
- 좋은글필사하기
- 넷플릭스
- 공부집중
- 명심보감
- Today
- Total
목록강좌, 연재/앱으로 배우는 kotlin (26)
Vintage appMaker의 Tech Blog
kotlin에서 클로저를 사용하여 객체를 넘길 때에는 확장함수를 사용한다. 확장함수는 어떤 형식이 되던 관계없다. 호출만 되면 된다. 확장함수를 실행함과 동시에 같은 메모리 공간을 공유할 수 있다. 확장함수가 실행되면 클로저를 생성하는 함수명 { 파라메터 -> 원하는 코딩}으로 진입하여 명령을 수행한다. fun main(args : Array){ var obj = ani{ crying(); eat(); nCount++; } println("증가된 숫자는 ${obj.nCount} 입니다."); ani2 { // 확장함수를 호출한 파라메터 넘겨진숫자값 -> crying(); eat(); println(" 넘겨진숫자값 + 1 = ${ 넘겨진숫자값 + 1 } 입니다.") } } // closure 활용 // 넘..
클로저는 자바스크립트 사용자들에게 친숙한 방법이다. 외부함수의 변수를 내부함수에서 그대로 기억하고 사용할 수 있다. 오래된 언어인 파스칼의 내부함수 사용법과 유사하다. 마치 객체지향에서 사용하는 객체처럼 함수를 사용할 수 있다. fun main(args : Array){ var fn = simpleClosure(10); println( fn(10) ); println( fn(10) ); println( fn(10) ); // 새로운 메모리 영역 println("----------"); var fn2 = simpleClosure(10); println( fn2(30) ); println( fn2(70) ); println( fn2(70) ); } // 자바스크립트에서 볼 수 있는 간단한 클로져 // 객체지..
kotlin에서는 소스를 수정할 수 없는 import된 클래스(예로 String)에 함수를 확장하여 추가할 수 있다. fun main(args : Array){ var 문자열 : String = "일반 문자열"; println ( 문자열.추가함수("추가함수") ); } // 이미 만들어진 객체에 함수를 추가할 수 있다. fun String?.추가함수(s : String ) : String{ return "나는 $this 너는 $s"; } 💻 Online IDE → 웹에서 예제실행 Kotlin Playground: Edit, Run, Share Kotlin Code Online play.kotlinlang.org kotlin 배우기 - github 예제 - Google Play 앱 안드로이드 개발 공식언어..
.let() 다음, 결과를 {}안에 넘긴다 ->를 사용할 경우 변수명 지정이 가능하다. .apply()다음, 객체를(생성과 동시) 결과를 {}안에 넘긴다. 파스칼의 with문과 유사. {}안에서 메소드도 실행가능하다. .run() apply()와 유사하지만 이미 생성된 객체에서만 사용가능. fun main(args : Array ){ // let() // 결과를 { -> } 안으로 넘긴다. 그 안에서 이미 선언한 변수처럼 사용한다. // ->를 삭제하면 기본변수인 it로 인식한다. 숫자값리턴().let { 넘겨준값 -> println (넘겨준값) }; 숫자값리턴().let { println ( it ) }; // apply() // 파스칼의 with문과 유사함. [객체이름.뭐뭐머] 코딩하는 고생이 덜었음..