일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- androidStudio
- 프로그래머스
- pandas
- boj
- Rxjava
- Compose
- Coroutine
- 코드포스
- Gradle
- Python
- Codeforces
- 암호학
- GitHub
- relay
- architecture
- Hilt
- 백준
- android
- livedata
- ProGuard
- 쿠링
- activity
- TEST
- Kotlin
- MiTweet
- textfield
- MyVoca
- AWS
- 코루틴
- Coroutines
- Today
- Total
목록Primary/Kotlin (39)
이동식 저장소
코틀린에서 스레드를 만드는 방법은 다음의 4가지가 있다. 1. Thread 클래스 상속 class SimpleThread : Thread() { override fun run() { println("Hello! This is thread ${currentThread()}") } } val thread = SimpleThread() 2. Runnable 인터페이스 상속 class SimpleRunnable : Runnable { override fun run() { println("Hello! This is runnable ${hashCode()}") } } val runnable = SimpleRunnable() val thread2 = Thread(runnable) 3. 익명 객체로 만들기 object..
코틀린에는 List, Set 등 다양한 collections 클래스가 존재하고, 또 다양한 확장 함수를 지원한다. 확장 함수를 적절히 사용하면 코드를 더 간결하고 읽기 쉽게 작성할 수 있다. 목차 Ordering (순서) Sorting Reverse Order Random Order (shuffling) Aggregate (요약) Aggregations Fold, Reduce Transformations (변환) Mapping Zipping Association Flattening String Representation Filtering (검색) Filtering by predicate Partitioning Testing predicates 참고문헌 Ordering (순서) Sorting sorted(..
Data Class 클래스의 용도 중 하나로 데이터 전달이 있다. 코틀린에서는 데이터 전달용 객체(Data Transfer Object, DTO)를 편리하게 선언할 수 있도록 ``data class``라는 키워드를 지원한다. 데이터를 표현하는 객체는 다음의 메소드를 지원해야 한다. getters, setters: 프로퍼티 읽기/쓰기용 메소드 ``equals()``: 데이터의 값이 같은지 비교할 때 사용 ``toString()``: 데이터를 문자열로 쉽게 알아보고 싶을 때 사용 ``hashCode()``: ``Map`` 등에서 해시값을 계산할 때 사용 ``copy()``: 객체 복사 더보기 # 코틀린에서의 객체 비교 (펼치기) 자바에서 == 연산자를 사용하면 두 변수가 동일한 객체를 가리키는지 검사한다. ..
위임이란 어떤 클래스의 멤버를 참조 없이 호출하고 싶을 때 사용하는 선언 방식이다. 클래스의 위임 다음의 코드를 보자. // 1 interface Animal { fun eat() } // 2 class Cat : Animal { override fun eat() { println("eat() at Cat") } } // 3 val cat = Cat() // 4 class Robot : Animal by cat 인터페이스 ``Animal``을 정의하였다. 클래스 ``Cat``을 선언하고, ``Animal``을 구현하였다. ``Cat``은 추상 클래스 또는 인터페이스가 아니므로 ``eat()``을 정의해야 한다. ``Cat``의 객체 ``cat``을 만들었다. 클래스 ``Robot``을 선언하고, ``An..