책 이미지
 
				책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 모바일 프로그래밍 > 안드로이드
· ISBN : 9788966264452
· 쪽수 : 375쪽
· 출판일 : 2025-01-24
책 소개
목차
1부 코틀린의 고급 기능
1장 제네릭 변성 제어자
리스트의 변성 
소비자의 변성 
함수 타입 
공변 Nothing 객체 
공변 Nothing 클래스 
변성 제어자의 제한 
@UnsafeVariance 애너테이션 
변성 제어자의 위치 
스타 프로젝션(*) 
요약 
연습문제: 제네릭 타입 사용 
연습문제: 제네릭 응답 
연습문제: 제네릭 컨슈머 
2장 인터페이스 위임 
위임 패턴 
위임과 상속 
코틀린의 인터페이스 위임 지원 
래퍼 클래스 
데코레이터 패턴 
인터섹션 타입 
한계 
부모 사이의 요소 충돌 
요약 
연습문제: ApplicationScope 
3장 프로퍼티 위임 
프로퍼티 위임의 원리 
getValue와 setValue의 다른 매개변수들 
커스텀 프로퍼티 위임자 구현 
위임자 제공하기 
코틀린 표준 라이브러리의 프로퍼티 위임자 
notNull 위임자 
연습문제: Lateinit 위임자 구현 
lazy 위임자 
연습문제: 블로그 포스트 프로퍼티 
observable 위임자 
vetoable 위임자 
위임자로 맵 사용하기 
변수가 동작하는 방식 복습하기 
요약 
연습문제: 뮤터블 lazy 위임자 
4장 코틀린 컨트랙트 
컨트랙트의 의미 
인수로 받은 함수를 몇 번 호출할까? 
함수가 값을 반환한다는 사실을 암시하기 
컨트랙트 실제로 사용하기 
요약 
연습문제: 코루틴 시간 측정 
2부 다양한 플랫폼에서의 코틀린 
5장 자바 상호운용성 
널 가능한 타입 
코틀린 타입 매핑 
JVM 원시 타입 
컬렉션 타입 
애너테이션 대상 
정적 요소 
@JvmField 
코틀린에서 자바 접근자 사용하기 
@JvmName 
@JvmMultifileClass 
@JvmOverloads 
Unit 
함수 타입과 함수 인터페이스 
편법적인 이름
@Throws 
@JvmRecord 
요약 
연습문제: 코틀린 코드를 자바에서 이용할 수 있도록 다듬기
6장 코틀린 멀티플랫폼 사용하기
멀티플랫폼 모듈 설정 
expect와 actual 요소 
가능성
멀티플랫폼 라이브러리 
멀티플랫폼 모바일 애플리케이션 
요약 
연습문제: 멀티플랫폼에서의 LocalDateTime 
7장 자바스크립트 상호운용성 
프로젝트 설정하기
코틀린/JS를 지원하는 라이브러리 사용하기 
코틀린/JS 사용하기 
패키지 빌딩과 링킹 
npm에 패키지 배포하기 
객체 노출하기 
플로우와 상태플로우 노출하기
npm 의존성 추가하기
코틀린/JS용 프레임워크와 라이브러리 
자바스크립트와 코틀린/JS의 한계 
요약 
연습문제: 코틀린/JVM 프로젝트를 KMP로 이전하기 
3부 메타프로그래밍 
8장 리플렉션 
클래스 계층구조 
함수 참조 
매개변수 참조 
프로퍼티 참조
클래스 참조
직렬화 예시 
타입 참조하기 
타입 리플렉션 예시: 랜덤 값
코틀린 리플렉션과 자바 리플렉션
캡슐화 깨뜨리기 
요약 
연습문제: 함수 호출자 
연습문제: 객체를 JSON으로 직렬화 
연습문제: 객체를 XML로 직렬화 
연습문제: DSL에 기초한 의존성 주입 라이브러리
9장 애너테이션 처리
처음 만드는 애너테이션 처리기
생성된 클래스 숨기기
요약
연습문제: 애너테이션 처리로 실행 시간 측정 래퍼 만들기
10장 코틀린 심벌 처리
처음 만드는 KSP 처리기
KSP 테스트하기
의존성과 점진적 처리 
다중 라운드 처리
멀티플랫폼 프로젝트에서 KSP 사용하기 
요약
연습문제: KSP로 처리 시간 측정 래퍼 만들기 
11장 코틀린 컴파일러 플러그인 
컴파일러 프런트엔드와 백엔드 
컴파일러 확장 
유명한 컴파일러 플러그인들
모든 클래스를 open으로 설정하기
타입 변경하기
함수 래퍼 생성하기
플러그인 구현 예제
요약
12장 정적 분석 도구
정적 분석 도구란?
분석 도구 종류
코틀린 코드 분석 도구
디텍트 설정하기
첫 번째 디텍트 규칙 작성하기 
요약 
마치며 
연습문제 해답 
찾아보기
책속에서












 
		 
		 
		 
	









 
 













