일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자바
- 안드로이드강좌
- 테스트
- Gradle
- 안드로이드
- Compose
- 코루틴
- android
- Kotlin
- viewmodel
- 책
- 알고리즘
- kotlin강좌
- ReactiveProgramming
- 디자인패턴
- theming
- Coroutine
- k8s
- 코틀린
- 글또
- Rxjava
- 안드로이드스튜디오
- g 단위테스트
- 병럴프로그래밍
- 병렬프로그래밍
- 스레드
- 회고
- mockito
- 알게되는
- 커스텀상태
- Today
- Total
목록일상/책 리뷰 (50)
선생님, 개발을 잘하고 싶어요.
다루는 거 Nullable Type 안전한 호출 ?. 엘비스 연산자 ?: 널 아님 단언 !! ?.let { } as? 원시 타입 Any, Any? 타입 Unit 타입 Nothing 타입 읽기 전용 컬렉션 플랫폼타입 널 가능성 코틀린은 null에 대한 접근 시 발생 가능한 NPE 문제를 런타임 에러에서 컴파일 타임 에러로 옮기려고 한다. 널이 될 수 있는지 여부를 타입 시스템에 추가해서 컴파일러가 여러 오류를 컴파일 시 미리 감지하는 기법을 도입한다. 코틀린과 자바의 가장 중요한 차이는 코틀린 타입 시스템이 널이 될 수 있는 타입을 명시적으로 지원한다는 점이다. 코틀린에서 String 타입의 의미는 이 변수가 런타임에 절대로 null이 아니라는 걸 장담한다는 것, 즉 NPE가 발생되지 않을 것이라는 걸 장..
다루는 거 람다 멤버 참조 컬렉션 라이브러리 코틀린 시퀀스 함수형 인터페이스, SAM 인터페이스 수신 객체 지정 람다 (with, apply) 행동을 변수로 저장하거나 함수 인자로 넘기기: 람다(lambda) 와 멤버 참조(member reference) 람다 코틀린은 함수를 값처럼 다루는 방식을 선택했다. 함수를 직접 다른 함수에 전달할 수 있다. 예시로 컬렉션을 다룰 때 수행하는 대부분의 작업은 몇 가지 일반적 패턴에 속하고 이 패턴은 라이브러리로 제공된다. 컬렉션으로 수행하는 일반적인 알고리즘을 구성하고 람다를 인자로 받아서 재활용할 수 있게 되었다. 람다나 멤버 참조를 인자로 받는 함수를 통해 개선한 코드는 더 짧고 더 이해하기 쉽다. people.maxBy { it.age } // 람다로 넘기기..
다루는 거 코틀린과 자바의 클래스 선언 차이 기본적으로 final public 의도적 상속가능성 open 모듈 레벨 가시성 internal 바깥 클래스 참조를 포함하는 중첩 클래스는 inner 같은 파일에서만 상속이 가능한 sealed 프로퍼티의 뒷받침 필드 참조를 위한 field data class 클래스 위임으로 보일러 플레이트 코드 줄이기 object 싱글턴 companion object 무명 내부 클래스 클래스 계층 정의 코틀린 인터페이스는 자바 8 인터페이스와 비슷하다. 구현이 있는 메서드도 정의할 수 있다. 자바 8의 디폴트 메서드와 비슷하다. interface 키워드로 정의한다. 클래스 이름 뒤에 콜론(:)을 붙히고 인터페이스와 클래스 이름을 적는 것이 끝 상위 클래스나 인터페이스에 있는 프..
다루는 것 함수 정의, 호출 확장 함수, 확장 프로퍼티 컬렉션, 문자열, 정규식 범위에서 다룰 예정 코틀린 컬렉션 코틀린에서 컬렉션을 만드는 건 쉽다. 최상위 함수가 미리 정의되어있다. listOf(1,2,3) // java.util.ArrayList 타입 setOf("seungmin", "greedy") // java.util.HashSet 타입 hashMapOf(1 to "one", 7 to "seven") // java.util.HashMap 타입 그렇게 만들어진 컬렉션 타입을 자세히 보면 자바의 컬렉션을 그대로 사용한다는 걸 확인할 수 있다. 이로 인해서 얻는 장점은? 자바 코드와 상호작용이 쉽다. - 자바에서 코틀린 함수 호출하거나 그 반대의 상황에서도 컬렉션을 상호 변환할 필요가 없다. (상호..