1. 비동기란?비동기 프로그래밍은 프로그램이 여러 작업을 동시에 수행하거나, 하나의 작업이 완료될 때까지 기다리지 않고 다른 작업을 계속 수행할 수 있도록 도와주는 패러다임을 뜻한다. 주로 I/O 작업이나 통신과 같이 시간이 오래 걸리는 작업에 많이 사용되고 있다. 특히 소켓통신, 웹소켓, 대량의 데이터를 불러오는 작업(사진첩 및 연락처)에 유용하다. 2. Handler 및 Timer(1) Handler주로 안드로이드에서 많이 사용되며, Timer와 다르게 UI를 사용할 수 있는 부분에서 차이가 있다. 메시지큐와 함께 사용되는 비동기 처리 도구이다. CODEHandler handler = new Handler(Looper.getMainLooper());handler.post(new Runnable() {..
Android/Android Java-Kotlin
1. 개요 코틀린의 Companion object는 static 키워드와 다르다. 1) 같은점 Companion object와 static 모두 클래스 변수, 메소드 이다. -> 즉 클래스.메소드가 가능 2) 다른점 클래스명.companion은 클래스명만으로도 사용가능 class MyClass2{ companion object{ val prop = "나는 Companion object의 속성이다." fun method() = "나는 Companion object의 메소드다." } } fun main(args: Array) { //사실은 MyClass2.맴버는 MyClass2.Companion.맴버의 축약표현이다. println(MyClass2.Companion.prop) println(MyClass2.C..
1. equals CODE String val1; String val2 = "123"; System.out.println(val1.equals(val2)); System.out.println(val2.equals(val1)); Output Compilation Errors Detected File: ALIEN_255971/source/domain/HelloWorld.java Line: 8 variable val1 might not have been initialized val1에는 값이 없다. val1.equals(val2)에서 val1에 값이 없으면 애러가 나오나 val2.equals(val1)에서 val1에 값이 없어도 괜찮다. 2. == 자바에서는 값을 비교하는 것이 아니라 주소값을비교한다. 하지만..
1. List get(), contains() 등의 함수가 쓰임(수정 불가능) MutableList, ArrayList, LinkedList 모두 List를 상속하여 만들어 진다. List는 수정 불가능한 List와 수정가능한 MutableList로 나뉜다 val list: List = listOf(1,2,3) val list2 = listOf(1,"d",11L) //List로 자동타입추론 list[0] = 2 //수정 불가능하기 때문에 Error 발생 var result = list.get(0) 2. Array 정적 할당 → 선언 시 크기를 지정하거나 초기화를 진행해야 함.(수정 가능) element의 추가, 삭제는 불가능 val array: Array = arrayOf(1,2,3) val array2..