본문 바로가기

코틀린

안드로이드에서 사용하는 코루틴 (코틀린) 왜 이런글을? 안드로이드 (코틀린) 에도 코루틴을 통한 비동기 처리를 사용할수 있기 때문이죠. 안드진영에서는 대대손손 물려받은? 자바 계열의 스레드 개념을 활용하여 비동기 처리를 하곤 했습니다. 당연히 그렇게 사용했습니다. 그런데 이 스레드를 컨트롤 한다는건 매우 위험하고 어려운 복잡한 그러한 일이었기에...(대표적으로 메모리 문제 그리고 메모리 문제) 코틀린으로 넘어오면서 코루틴 이라고 하는 개념을 추가하여 비동기 방식의 로직처리를 안정적으로 할수 있게 되었습니다. (과연그럴까요?) = 정리 + 요약 하여 해당 내용을 공유 합니다. 코루틴? (Coroutine) 이름이 비슷하다고 해서 코루틴은 코틀린에서 새로 등장한 지식이 아닙니다. 아주 오래 전부터 기존에 있던 이론입니다. 코루틴(coroutine).. 더보기
코틀린사용 - 자바static, 객체식, 객체선언, 컴패니언 코틀린에서 편리한 몇가지 사용 방법 객체 선언 코틀린을 사용하다 보면 자바에서 사용하던 부분을 비슷하게 처리하려면 어떻게 해야하지? 하는 부분이 생깁니다. 자바에서 싱글턴 패턴의 구현 그리고 익명클래스 등을 살펴 보겠습니다. public class SingleTest { private static SingleTest instance; private SingleTest(){ } public synchronized static SingleTest getInstance(){ if(instance != null){ instance = new SingleTest(); } return instance; } } 자바에서 싱글턴 구현은 보통 이런식이죠? 너무 장황하며, 복잡합니다. 코틀린에서는 object 키워드를 사.. 더보기
코틀린 기초 공부 해보기 3 1. 루프문 사용 루프문의 사용도 뭐 비슷비슷하네요. 1 2 3 4 5 val items = listOf("apple", "banana", "kiwifruit") for (item in items) { println(item) } Colored by Color Scripter cs 여기서 listOf 가 궁금하실텐데요. 이건 java에서 리스트 객체를 생성한다고 생각하면 됩니다. for (item in items) { 여기서 돌리는거죠. 참 쉽죠잉 돌리면서 index가 필요할수 있으니 그럴때 이렇게 씁니다. 1 2 3 4 5 6 7 val items = listOf("apple", "banana", "kiwifruit") for (index in items.indices) { println("item a.. 더보기
코틀린 기초 공부해보기 2 1. 조건문의 사용 1 2 3 4 5 6 7 8 fun maxOf(a: Int, b: Int): Int { if (a > b) { return a } else { return b } } Colored by Color Scripter cs if문은 뭐. 그냥 보셔도 아시겠죠? : Int 이건 리턴형이 int라는 말입니다. 다음은 when 입니다. 자바에서 switch case 라고 생각하시면 좋을것같네요. 1 2 3 4 5 6 7 8 9 10 fun describe(obj: Any): String = when (obj) { 1 -> "One" "Hello" -> "Greeting" is Long -> "Long" !is String -> "Not a string" else -> "Unknown" } Col.. 더보기
코틀린 기초 같이 공부하기 1 안드로이드에서 코틀린을 공식언어로 지정해버렸죠. 자바에서 코틀린으로 완전히 넘어갈지 아닐지 그건 알수 없지만 현재로써는 코틀린도 공부해 둘 수 밖에 없겠습니다. 코틀린은 안드로이드 스튜디오의 뼈대인 intelliJ 를 만든 jetbrain 사에서 만들어 배포하고 있습니다. 구글에서 전폭적인 지지를 아끼지 않네요. 나온지는 꽤 되어서 이미 많은 앱에서 쓰이고 있습니다. 코틀린은 환경은 자바와 100% 호환이 된다고 합니다. 그들말로는... 이말은 즉 섞어서 쓸수 있다. 정도로 풀이 됩니다. 코틀린을 적용하더라도 기존의 자바라이브러리와 소스를 버리지 않아도 된다는 말이죠. 이 상황은 마치.. 아이폰 진영의 object C 와 swift를 짬뽕하는 코드를 보는것 같네요. * kotlin 공식사이트의 basic.. 더보기