통합검색

검색

  • IT 자격증 수험서
    • 워드프로세서
    • 컴퓨터활용능력
    • 정보처리/사무자동화/정보기기
    • ITQ
    • GTQ
    • 컴퓨터그래픽스
    • 웹디자인
  • 실용 자격증 수험서
    • 한국사
    • 조리/제과/운전면허
    • 기타
  • IT 도서
    • 컴퓨터 일반/활용
    • 사무자동화(OA)
    • 웹/홈페이지
    • 그래픽/멀티미디어
    • 프로그래밍
    • 컴퓨터공학
    • 어린이 교재
  • 단행본 도서
    • 가정과 생활
    • 유아/아동
    • 기타
  • 시리즈
    • 더 쉽게 배우기
    • 환상의 콤비
    • 눈이 편한
    • 속전속결
    • 비주얼(Visual)
    • 학교에서 통하는
    • 이게 진짜

프로그래밍 일반

HOME 도서정보 IT 도서

New 다재다능 코틀린 프로그래밍 저자 벤컷 수브라마니암 | 페이지 488
ISBN 9788931463422 | 정가 30,000 | 출판일 2021-02-15
판매처

부록CD

도서소개

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

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

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

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

저자소개

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

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

목차

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 사용하기
정리

목록