책 이미지

책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 언어 > 프로그래밍 언어 기타
· ISBN : 9791161750996
· 쪽수 : 556쪽
· 출판일 : 2018-01-19
책 소개
목차
1장. 코틀린 시작하기
__커맨드라인에서 코틀린 코드를 컴파일하고 실행하기
__코틀린 런타임
__REPL
__스크립트를 위한 코틀린
__그레이들에 코틀린 적용하기
__메이븐에 코틀린 적용하기
__인텔리제이와 코틀린
__이클립스와 코틀린
__프로젝트에서 코틀린과 자바 혼용하기
__요약
2장. 코틀린 기본기
__val과 var
__타입 추론
__기본 타입
____숫자
____불린
____문자
____문자열
____배열
__주석
__패키지
__임포트
____와일드카드 임포트
____임포트명 변경
__문자열 템플릿
범위
__루프
__예외 처리
__클래스 인스턴스화하기
__참조 동등성과 구조 동등성
__this 표현식
____스코프
__가시성 제어자
____private
____protected
____internal
__표현식으로서의 흐름 제어
__널 문법
____똑똑한 형변환
____명시적 형변환
__when 표현식
____when(값)
________인자가 없는 when
____함수 반환
__타입 체계
__요약
3장. 코틀린과 객체 지향 프로그래밍
__클래스
____접근 레벨
____중첩 클래스
____데이터 클래스
____열거형 클래스
____정적 메소드와 컴패니언 오브젝트
__인터페이스
__상속
__가시성 제어자
__추상 클래스
__인터페이스 또는 추상 클래스
__다형성
__오버라이딩 규칙
__상속 대 합성
__클래스 델리게이션
__봉인 클래스
__요약
4장. 코틀린과 함수
__함수 정의하기
__단일 표현식 함수
__멤버 함수
__지역 함수
__최상위 함수
__이름이 있는 매개변수
__기본 값을 갖는 매개변수
__확장 함수
____확장 함수의 우선순위
____널 값에서의 확장 함수
____멤버 확장 함수
____멤버 확장 함수 오버라이딩하기
____컴패니언 오브젝트 확장
____다중 반환 값
____중위 함수
__연산자
____연산자 오버로딩
____기본 연산자
____in/contains
____get/set
________invoke
____비교
____할당
____자바 상호 운용
__함수 리터럴
__꼬리 재귀 함수
__가변 인자
____전개 연산자
__표준 라이브러리 함수
____apply
____let
____with
____run
____lazy
____use
____repeat
____require / assert / check
__제네릭 함수
__순수 함수
__코틀린에서 자바 사용하기
____게터와 세터
____단일 추상 메소드
____코틀린 식별자 탈출하기
____자바 void 메소드
__자바에서 코틀린 사용하기
____최상위 함수
____기본 매개변수
____오브젝트와 정적 메소드
____이름 삭제하기
____확인된 예외
__요약
5장. 고차 함수와 함수형 프로그래밍
__고차 함수
____함수 반환
____함수 할당
__클로저
__익명 함수
__함수 참조
____최상위 함수 참조
____멤버 함수 참조와 확장 함수 참조
____바운드 참조
__함수 리터럴 수신자
__JVM에서의 함수
____바이트 코드
__함수 합성
__inline 함수
____noinline 함수
__커링과 부분 적용
____실전 커링
____커링 지원 추가하기
__메모이제이션
____메모이제이션 구현하기
__타입 앨리어스
__Either
____fold
____프로젝션
____프로젝션 함수 더 나아가기
__커스텀 DSL
____키워드로서의 중위 함수
____DSL 에서 함수 수신자 사용하기
__유효성 축적과 에러 축적
__요약
6장. 프로퍼티
__왜 프로퍼티를 사용하는가?
__문법과 변형
__가시성
__늦은 초기화
__델리게이트 프로퍼티
__지연 초기화
__lateinit 대 lazy
__옵저버블
__널 값을 갖지 않는 프로퍼티 델리게이트
__프로퍼티 혹은 메소드?
__요약
7장. 널 안정성, 리플렉션, 애노테이션
__널을 허용하는 타입
__똑똑한 형변환
__안전한 널 접근
____강제 연산자
__엘비스 연산자
__안전한 형변환
__옵셔널
____옵셔널을 생성하고 반환하기
____옵셔널 사용하기
__리플렉션
____KClass
____리플렉션을 사용한 인스턴스화
__생성자
____callBy로 인스턴스화하기
__객체와 컴패니언
__유용한 KClass 프로퍼티
__리플렉션한 함수와 프로퍼티
____리플렉션으로 함수 호출하기
____선언과 비선언
__애노테이션
____애노테이션 매개변수
__표준 애노테이션
____@JvmName
____@JvmStatic
____@Throws
____@JvmOverloads
__런타임에서 애노테이션 발견하기
__요약
8장. 제네릭
__매개변수화된 함수
__매개변수화된 타입
__범위를 갖는 다형성
____상한
________다중 범위
__타입 변형
____불변성
____공변성
____공변성 반환하기
____반공변성
____변형 개요
____Nothing 타입
____타입 프로젝션
__타입 소거
__타입 구체화
__재귀 타입 경계
__대수적 데이터 타입
__요약
9장. 데이터 클래스
__게터와 세터 자동 생성
__copy 메소드
__toString 바로 사용하기
__사용자를 위해 생성된 hashCode와 equals 메소드
__비구조화 선언
__비구조화 타입
__데이터 클래스 정의 규칙
__한계
__요약
10장. 컬렉션
__클래스 계층 구조
__배열
__리스트
__맵
__셋
__읽기 전용 뷰
__인덱스 접근
__시퀀스
__요약
11장. 코틀린과 테스트
__시작하기
__스펙 선택하기
__매처
____문자열 매처
____컬렉션 매처
____부동소수점 매처
________예외 기대하기
____매처 결합하기
____커스텀 매처
__인스펙터
__인터셉터
____테스트 케이스 인터셉터
____스펙 인터셉터
__프로젝트 환경 설정
__프로퍼티 테스트
____제너레이터 명시하기
________커스텀 제너레이터
__테이블 주도 테스트
____비결정적 코드 테스트하기
__태그와 조건 그리고 설정
____설정
____조건
____태그
________단일 인스턴스
__자원
__요약
12장. 코틀린과 마이크로서비스
__정의
__단점
__왜 마이크로서비스인가?
__라곰
__서비스 정의하기
__라곰 서비스 구현하기
__요약
13장. 동시성
__스레드
____블로킹
____스레드 생성하기
________스레드 정지하기
________스레드 인터럽트
________CPU 바운드 대 I/O 바운드
__데드락과 라이브락
____식사하는 철학자 문제
__익스큐터
__경쟁 조건
____모니터
____락
________읽기-쓰기 락
____세마포어
________한정 버퍼 문제
____동시성 컬렉션
________ConcurrentHashMap
________블로킹 큐
____원자 변수
____카운트다운 래치
____사이클릭 배리어
____논블로킹 I/O와 비동기 프로그래밍
____퓨처
__요약