본문 바로가기

추천 검색어

실시간 인기 검색어

다재다능 코틀린 프로그래밍

다양한 프로그래밍 패러다임으로 살펴보는 코틀린 기본서
영진닷컴

2021년 06월 25일 출간

종이책 : 2021년 02월 15일 출간

(개의 리뷰)
( 0% 의 구매자)
eBook 상품 정보
파일 정보 pdf (5.47MB)
ISBN 9788931465693
쪽수 489쪽
지원기기 교보eBook App, PC e서재, 리더기, 웹뷰어
교보eBook App 듣기(TTS) 가능
TTS 란?
텍스트를 음성으로 읽어주는 기술입니다.
  • 전자책의 편집 상태에 따라 본문의 흐름과 다르게 텍스트를​ 읽을 수 있습니다.
  • 전자책 화면에 표기된 주석 등을 모두 읽어 줍니다.
  • 이미지 형태로 제작된 전자책 (예 : ZIP 파일)은 TTS 기능을 지원하지 않습니다.
  • '교보 ebook' 앱을 최신 버전으로 설치해야 이용 가능합니다. (Android v3. 0.26, iOS v3.0.09,PC v1.2 버전 이상)

PDF 필기 Android 가능 (iOS예정)
소득공제
소장
정가 : 21,000원

쿠폰적용가 18,900

10% 할인 | 5%P 적립

이 상품은 배송되지 않는 디지털 상품이며,
교보eBook앱이나 웹뷰어에서 바로 이용가능합니다.

카드&결제 혜택

  • 5만원 이상 구매 시 추가 2,000P
  • 3만원 이상 구매 시, 등급별 2~4% 추가 최대 416P
  • 리뷰 작성 시, e교환권 추가 최대 300원

작품소개

이 상품이 속한 분야

다양한 언어들의 장점들을 한데 모은 코틀린 완벽 사용법

코틀린은 간단한 스크립트 프로그램부터 안드로이드 앱, 웹 앱을 비롯해 다양한 플랫폼으로 컴파일 되는 다재다능한 언어다. 간결함과 안정성, 상호 운용능력을 장점으로 내세운 코틀린은 2019년 구글에서 안드로이드의 우선 지원 언어로 지정하며 많은 관심을 받고 있다.

이 책에서는 코틀린을 통해 우아하고 효율적인 프로그래밍을 하는데 필요한 모든 지식들을 정리한다. 간단한 스크립트 작업을 통해 코틀린의 문법을 익히는 것으로 시작하여 코틀린을 통해 객체지향 프로그래밍, 비동기 프로그래밍, 함수형 프로그래밍 등 다양한 프로그래밍 패러다임을 적용하는 방법도 살펴본다. 또한 현업 프로젝트에 도움이 될 수 있는 코틀린의 특수한 기능들과 기존 언어나 프레임워크와 코틀린을 혼용하는 방법 등 실제 프로젝트 환경에서 코틀린을 도입하는데 필요한 지식들 또한 소개한다.

각 챕터는 코틀린에서 지원하는 프로그래밍 개념에 관한 설명과 간단한 예제 코드들을 통해 바로 내용을 이해할 수 있도록 구성되어있다. 코틀린을 활용하는데 필요한 개념 대부분을 소개하고 있기 때문에 프로그래밍과 관련된 기초적인 개념들도 소개한다. 따라서, 프로젝트에 코틀린을 처음 도입하고자 하는 현업 개발자는 코틀린이 지닌 장점들을 최대한 활용하는 방법을 파악할 수 있으며, 다른 언어를 통해 프로그래밍을 시작한 초보자는 책에서 소개된 다양한 프로그래밍 개념을 통해 실력을 한 단계 더 높일 수 있다.
Part 01 코틀린으로 스크립팅 하기

Chapter 01 코틀린 시작하기
1-1 코틀린을 사랑할 수 밖에 없는 이유
1-2 왜 코틀린을 선택해야 하는가?
1-3 코틀린 사용하기
1-4 바이트코드로 컴파일하고 실행하기
1-5 다른 타깃으로 컴파일하기
1-6 어떤 옵션을 선택해야 할까?
정리

Chapter 02 Java 개발자를 위한 코틀린 필수 사항
2-1 더 적은 타이핑
2-2 현명한 경고
2-3 var보다는 val
2-4 향상된 동일성 체크
2-5 문자열 템플릿
2-6 RAW 문자열
2-7 표현식은 많이, 명령문은 적게
정리

Chapter 03 함수를 사용하자
3-1 함수 생성
3-2 기본 인자와 명시적 인자
3-3 다중인자와 스프레드
3-4 구조분해
정리

Chapter 04 외부 반복과 아규먼트 매칭
4-1 범위와 반복
4-2 배열과 리스트의 반복
4-3 when을 사용해야 할 때
정리

Chapter 05 콜렉션 사용하기
5-1 콜렉션의 특징
5-2 페어와 트리플 사용하기
5-3 객체 배열과 프리미티브 배열
5-4 리스트 사용하기
5-5 셋 사용하기
5-6 맵 사용하기
정리

Chapter 06 오류를 예방하는 타입 안정성
6-1 Any와 Nothing 클래스
6-2 Null 가능 참조
6-3 타입 체크와 캐스팅
6-4 명시적 타입 캐스팅
6-5 제네릭: 파라미터 타입의 가변성과 제약사항
6-6 구체화된 타입 파라미터
정리

Part 02 객체지향 코틀린

Chapter 07 객체와 클래스
7-1 객체와 싱글톤
7-2 클래스 생성
7-3 컴패니언 객체와 클래스 멤버
7-4 제네릭 클래스 생성
7-5 데이터 클래스
정리

Chapter 08 클래스 계층과 상속
8-1 인터페이스와 추상 클래스 생성
8-2 중첩 클래스와 내부 클래스
8-3 상속
8-4 씰드 클래스
8-5 Enum의 생성과 사용
정리

Chapter 09 델리게이션을 통한 확장
9-1 상속 대신 델리게이션을 써야 하는 상황
9-2 델리게이션을 사용한 디자인
9-3 파라미터에 위임하기
9-4 메소드 충돌 관리
9-5 델리게이션의 주의사항
9-6 변수와 속성 델리게이션
9-7 빌트인 스탠다드 델리게이션
정리

Part 03 함수형 코틀린

Chapter 10 람다를 사용한 함수형 프로그래밍
10-1 함수형 스타일
10-2 람다 표현식
10-3 람다와 익명 함수
10-4 클로저와 렉시컬 스코핑
10-5 비지역성(non-local)과 라벨(labeled)리턴
10-6 람다를 이용한 인라인 함수
정리

Chapter 11 내부 반복과 지연 연산
11-1 외부 반복자 vs 내부 반복자
11-2 내부 반복자
11-3 지연 연산을 위한 시퀀스
정리

Part 04 우아하고 효율적인 코틀린

Chapter 12 코틀린에서 구현하는 유창성
12-1 연산자 오버로딩
12-2 확장 함수와 속성을 이용한 인젝팅
12-3 함수 확장
12-4 infix를 이용한 중위표기법
12-5 Any 객체를 이용한 자연스러운 코드
12-6 암시적 리시버
정리

Chapter 13 내부 DSL 만들기
13-1 DSL의 타입과 특징
13-2 내부 DSL을 위한 코틀린
13-3 유창성 확립 시 마주하는 난관
13-4 타입 세이프 빌더
14-5 스코프 제어를 통한 접근 제한
정리

Chapter 14 재귀 프로그래밍과 메모이제이션 프로그래밍
14-1 재귀의 강점과 위험성
14-2 꼬리호출 최적화
14-3 메모이제이션
정리

Part 05 비동기 어플리케이션 만들기

Chapter 15 코루틴 탐험하기
15-1 코루틴과 동시 실행
15-2 코루틴을 이용한 동시 실행
15-3 코루틴의 컨텍스트와 스레드
15-4 코루틴 디버깅
15-5 async와 await
15-6 연속성 살펴보기
15-7 무한 시퀀스 만들기
정리

Chapter 16 비동기 프로그래밍
16-1 비동기 프로그래밍
16-2 예외 처리
16-3 취소와 타임아웃
정리

Part 06 상호운용과 테스트

Chapter 17 Java와 코틀린 혼용
17-1 조인트 컴파일
17-2 코틀린에서 Java 호출하기
17-3 Java에서 코틀린 호출하기
정리

Chapter 18 코틀린 유닛 테스트
18-1 테스트 코드가 있는 코드
18-2 프로젝트 파일 가져오기
18-3 카나리 테스트로 시작하기
18-4 실증 테스트 작성
18-5 데이터 드리븐 테스트 작성
18-6 의존성 모킹
18-7 탑레벨 함수 테스트
18-8 코루틴과 비동기 호출 테스트
18-9 서비스로 통합하기
18-10 코드 커버리지 보기
18-11 앱 실행하기
정리

Chapter 19 코틀린으로 스프링 사용하기
19-1 시작 프로젝트 생성
19-2 컨트롤러 만들기
19-3 엔티티 클래스 생성
19-4 리포지터리 인터페이스 생성
19-5 서비스 생성
19-6 컨트롤러로 서비스 통합하기
19-7 사용하기
정리

Chapter 20 코틀린으로 안드로이드 어플리케이션 만들기
20-1 프로젝트 생성
20-2 도메인 객체 정의
20-3 레이아웃 생성
20-4 액티비티 구현
20-5 리싸이클러뷰 업데이트
20-6 사용하기
정리

코틀린은 멀티패러다임 프로그래밍 언어다. 코틀린은 스크립트로 사용할 수도 있고, 객체지향 코드나 함수형 코드, 비동기 프로그램을 작성하는 것처럼 더 다양한 방법으로 사용 가능하다. 이렇게 넓은 스펙트럼의 주제들을 설명하기 위해 이 책은 여러 부분들로 나누었다.

1부는 코틀린을 사용한 스크립팅에 집중한다. 2부는 객체지향 프로그래밍에 관한 설명이다. 3부에서는 함수형 언어로서의 코틀린을 배운다. 4부는 지금까지 배운 것들을 종합하여 더 좋은 코드를 쓰도록 만든다. 그리고 내부 도메인 특정 언어(Domain-Specific Language, DSL)를 만드는 방법에 대해서 배운다. 5부에서는 코루틴과 비동기 프로그래밍에 대해서 알아본다. 마지막으로 6부에서는 Java 인터롭(interop: 다른 언어로 개발된 어셈블리를 특정 환경에서 사용할 수 있게 하는 기술), 테스팅, 스프링 사용, 안드로이드 어플리케이션 개발 등 코틀린을 활용한 개발에 대해 살펴본다. 각 장에서 다루는 영역은 다음과 같다.

1장. 코틀린 시작하기
코틀린을 사용해야 할 이유를 알아보고 필수적인 툴을 다운로드 받아 코드를 작성해볼 것이다.

2장. Java의 개발자를 위한 코틀린 필수 사항
Java에서 코틀린으로 넘어온 개발자들은 코틀린과 Java의 차이점을 배우기 전까지 코틀린에서도 Java의 문법과 습관들을 그대로 사용한다. 그래서 일부 습관과 문법을 고치기 위한 필수 사항들을 알아본다.

3장. 함수를 사용하자
함수는 코틀린에서 1급 객체(first-class citizen: 다른 객체들에 일반적으로 적용 가능한 연산을 모두 지원하는 객체)이다. 코틀린은 매우 많은 기능을 제공한다. 기본인자와 명시적 인자 그리고 가변인자 같은 기능들을 살펴본다.

4장. 외부 반복과 아규먼트 매칭
명령형 프로그래밍을 할 때 우리는 종종 외부 반복자를 사용한다. 코틀린의 반복자가 어떻게 반복 작업을 쉽게 만들어주고, 아규먼트 매칭 문법이 조건문에서 발생되는 많은 노이즈들을 제거해주는지 알아볼 것이다.

5장. 콜렉션 사용하기
우리는 프로그래밍을 할 때 콜렉션을 광범위하게 사용한다. 이 장에서는 뷰 인터페이스를 통해 JDK의 콜렉션을 코틀린에서 사용하는 방법을 보여줄 것이다.

6장. 오류를 예방하는 타입 안정성
코틀린의 타입 시스템은 컴파일시점에 우리가 정적 타입 언어에서 기대하는 타입 체크를 훨씬 뛰어넘는 성능을 발휘한다. 코틀린의 기본 타입, 널 가능(nullable)과 널 불가능(non-nullable) 참조, 스마트 캐스팅, 제네릭 가변성 등에 대해 배울 것이다.

7장. 객체와 클래스
코틀린에서 클래스를 만들기란 Java에서 클래스를 만드는 것과 의미상으로는 비슷하지만 많은 차이점이 있다. 싱글톤, 클래스, 동반 객체(companion object)에 대해서 배우고 데이터 클래스를 사용해야 하는 이유를 배운다.

8장. 클래스 계층과 상속
코틀린의 상속을 다루는 방법은 Java에서와 많이 다르다. 클래스는 디폴트로 파이널이 되고 코틀린은 타입 안정성(type safety)과 컴파일 시점에 체크를 향상시키기 위해서 몇가지 룰을 적용한다.

9장. 델리게이션을 통한 확장
코틀린은 델리게이션을 직접 제공하는 언어로 몇가지 빌트인 델리게이트를 가지고 있다. 또한 커스텀 델리게이트를 쉽게 만들 수 있다. 우리는 언제 그리고 왜 델리게이션을 사용하는지에 대해 먼저 논의한 후 델리게이트를 사용할 것이다.

10장. 람다를 사용한 함수형 프로그래밍
람다 표현식을 만드는 방법과 고차함수(higher-order-function)를 작성하는 방법을 배운다. 그리고 함수호출의 오버헤드 제거와 성능 향상을 위해 코틀린이 제공하는 기능을 알아볼 것이다.

11장. 내부 반복과 지연 연산
내부 반복자는 유연함을 제공한다. 그리고 시퀀스는 우리에게 효율성을 준다. 우리는 함수형 스타일에 반복을 적용하는 방법과 객체의 콜렉션을 처리하는 알아볼 것이다.

12장. 코틀린에서 구현하는 유창성
코틀린을 사용하여 코드를 간결하고, 우아하고, 풍부하게 만드는 방법과 코틀린을 능숙하게 다루기 위한 다양한 기능들을 보여준다.

13장. 내부 DSL 만들기
내부 DSL를 능숙하게 다루기 위한 주제로, 나만의 특별한 언어를 위한 문법을 정의하는 동시에 컴파일시점에서 타입 안정성을 구현하는 방법을 배운다.

14장. 재귀 프로그래밍과 메모이제이션 프로그래밍
코틀린은 꼬리호출 최적화를 제공한다. 그리고 JVM에서 동작하는 언어 중 꼬리호출 최적화가 제공되는 언어는 별로 없다. 이런 최적화가 어떻게 작동하는지 볼 것이고 메모이제이션을 통해 연산 복잡성을 낮추는 방법을 배울 것이다.

15장. 코루틴 탐험하기
코루틴은 코틀린 1.3에서 안정화된 기능이다. 이번 장에서는 컨티뉴에이션과 함께 비동기 프로그래밍의 기본을 설명한다.

16장. 비동기 프로그래밍
비동기 프로

작가정보

저자 : 벤컷 수브라마니암
휴스턴 대학 교수이자 기업 '애자일 디벨로퍼'의 설립자이다. 전세계의 수많은 소프트웨어 개발자들을 훈련하고 멘토링하였으며 많은 소프트웨어 프로젝트에 애자일 방법론을 성공적으로 적용하는 방법을 코칭했다. 저서로는 〈자바8 람다의 힘〉 (루비페이퍼, 2014), 〈애자일 프랙티스〉 (인사이트, 2007)가 있다.

역자 : 우민식
키움에셋 플래너에서 사내 시스템 관리와 개발로 커리어를 시작하였다. 이후 쿠팡과 이베이 코리아를 거치며 이커머스와 물류 시스템에 관련된 프로그램을 주로 개발했다. 익숙하고 안정적인 일 보다는 새로운 일에 도전하는 것을 즐기는 개발자이다. 현재는 회사에 소속되지 않은 채 디지털 노마드가 되어서 세계 여러 곳에서 바다를 보며 개발을 하고 있다.

이 상품의 총서

Klover리뷰 (0)

Klover리뷰 안내
Klover(Kyobo-lover)는 교보를 애용해 주시는 고객님들이 남겨주신 평점과 감상을 바탕으로, 다양한 정보를 전달하는 교보문고의 리뷰 서비스입니다.
1. 리워드 안내
구매 후 90일 이내에 평점 작성 시 e교환권 100원을 적립해 드립니다.
  • - e교환권은 적립일로부터 180일 동안 사용 가능합니다.
  • - 리워드는 1,000원 이상 eBook, 오디오북, 동영상에 한해 다운로드 완료 후 리뷰 작성 시 익일 제공됩니다.
  • - 리워드는 한 상품에 최초 1회만 제공됩니다.
  • - sam 이용권 구매 상품 / 선물받은 eBook은 리워드 대상에서 제외됩니다.
2. 운영 원칙 안내
Klover리뷰를 통한 리뷰를 작성해 주셔서 감사합니다. 자유로운 의사 표현의 공간인 만큼 타인에 대한 배려를 부탁합니다. 일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
  • 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
  • 도서와 무관한 내용의 리뷰
  • 인신공격이나 욕설, 비속어, 혐오 발언이 개재된 리뷰
  • 의성어나 의태어 등 내용의 의미가 없는 리뷰

구매 후 리뷰 작성 시, e교환권 100원 적립

문장수집

문장수집 안내
문장수집은 고객님들이 직접 선정한 책의 좋은 문장을 보여 주는 교보문고의 새로운 서비스 입니다. 교보eBook 앱에서 도서 열람 후 문장 하이라이트 하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다. 마음을 두드린 문장들을 기록하고 좋은 글귀들은 ‘좋아요’ 하여 모아보세요. 도서 문장과 무관한 내용 등록 시 별도 통보없이 삭제될 수 있습니다.
리워드 안내
  • 구매 후 90일 이내에 문장 수집 등록 시 e교환권 100원을 적립해 드립니다.
  • e교환권은 적립일로부터 180일 동안 사용 가능합니다.
  • 리워드는 1,000원 이상 eBook에 한해 다운로드 완료 후 문장수집 등록 시 제공됩니다.
  • 리워드는 한 상품에 최초 1회만 제공됩니다.
  • sam 이용권 구매 상품/오디오북·동영상 상품/주문취소/환불 시 리워드 대상에서 제외됩니다.

구매 후 문장수집 작성 시, e교환권 100원 적립

    교보eBook 첫 방문을 환영 합니다!

    신규가입 혜택 지급이 완료 되었습니다.

    바로 사용 가능한 교보e캐시 1,000원 (유효기간 7일)
    지금 바로 교보eBook의 다양한 콘텐츠를 이용해 보세요!

    교보e캐시 1,000원
    TOP
    신간 알림 안내
    다재다능 코틀린 프로그래밍 웹툰 신간 알림이 신청되었습니다.
    신간 알림 안내
    다재다능 코틀린 프로그래밍 웹툰 신간 알림이 취소되었습니다.
    리뷰작성
    • 구매 후 90일 이내 작성 시, e교환권 100원 (최초1회)
    • 리워드 제외 상품 : 마이 > 라이브러리 > Klover리뷰 > 리워드 안내 참고
    • 콘텐츠 다운로드 또는 바로보기 완료 후 리뷰 작성 시 익일 제공
    감성 태그

    가장 와 닿는 하나의 키워드를 선택해주세요.

    사진 첨부(선택) 0 / 5

    총 5MB 이하로 jpg,jpeg,png 파일만 업로드 가능합니다.

    신고/차단

    신고 사유를 선택해주세요.
    신고 내용은 이용약관 및 정책에 의해 처리됩니다.

    허위 신고일 경우, 신고자의 서비스 활동이 제한될 수
    있으니 유의하시어 신중하게 신고해주세요.


    이 글을 작성한 작성자의 모든 글은 블라인드 처리 됩니다.

    문장수집 작성

    구매 후 90일 이내 작성 시, e교환권 100원 적립

    eBook 문장수집은 웹에서 직접 타이핑 가능하나, 모바일 앱에서 도서를 열람하여 문장을 드래그하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다.

    P.
    다재다능 코틀린 프로그래밍
    다양한 프로그래밍 패러다임으로 살펴보는 코틀린 기본서
    저자 모두보기
    낭독자 모두보기
    sam 이용권 선택
    님이 보유하신 이용권입니다.
    차감하실 sam이용권을 선택하세요.
    sam 이용권 선택
    님이 보유하신 이용권입니다.
    차감하실 sam이용권을 선택하세요.
    sam 이용권 선택
    님이 보유하신 프리미엄 이용권입니다.
    선물하실 sam이용권을 선택하세요.
    결제완료
    e캐시 원 결제 계속 하시겠습니까?
    교보 e캐시 간편 결제
    sam 열람권 선물하기
    • 보유 권수 / 선물할 권수
      0권 / 1
    • 받는사람 이름
      받는사람 휴대전화
    • 구매한 이용권의 대한 잔여권수를 선물할 수 있습니다.
    • 열람권은 1인당 1권씩 선물 가능합니다.
    • 선물한 열람권이 ‘미등록’ 상태일 경우에만 ‘열람권 선물내역’화면에서 선물취소 가능합니다.
    • 선물한 열람권의 등록유효기간은 14일 입니다.
      (상대방이 기한내에 등록하지 않을 경우 소멸됩니다.)
    • 무제한 이용권일 경우 열람권 선물이 불가합니다.
    이 상품의 총서 전체보기
    네이버 책을 통해서 교보eBook 첫 구매 시
    교보e캐시 지급해 드립니다.
    교보e캐시 1,000원
    • 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
    • 한 ID당 최초 1회 지급 / sam 이용권 제외
    • 네이버 책을 통해 교보eBook 구매 이력이 없는 회원 대상
    • 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)
    구글북액션을 통해서 교보eBook
    첫 구매 시 교보e캐시 지급해 드립니다.
    교보e캐시 1,000원
    • 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
    • 한 ID당 최초 1회 지급 / sam 이용권 제외
    • 구글북액션을 통해 교보eBook 구매 이력이 없는 회원 대상
    • 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)