스크랩

구간

코틀린 완벽 가이드 입문부터 활용까지, 필요한 지식 총망라!

알렉세이 세두노프 저 | 오현석 역 | 길벗 | 2022년 02월

북트리

정가
$72.00
판매가
$52.49 (27%↓) 최저가 보상
적립금
$1.05 (2%P)
출고예상일
2026년 10월 08일 수령예상일 안내
북카트 담기 바로구매하기 위시리스트담기

평점 -  ·  리뷰 0

리뷰 쓰기

ISBN : 9791165218911 / 704쪽 183 x 235 (㎜)

이 상품에 궁금하신점이 있으세요? 1:1상담문의

추천inside
Adobe Flash Player 가져오기

이 분야의 베스트셀러

아래의 도서와 구매하시면 이 도서들의 적립금을 즉시적용해 드립니다.

책 소개

출판사 리뷰

강력하고 실용적인 코틀린! 기초, 심화, 활용을 한 권으로! 이 책은 코틀린 언어의 기초부터 심화 내용까지 탄탄히 배우고 모바일, 웹, 데스크톱에서 다양한 애플리케이션을 개발하는 데 코틀린을 사용해 보는 것을 목표로 한다. 이 책을 통해 코틀린의 기본 문법을 시작으로 동작 원리와 그 이면의 핵심 아이디어를 이해할 수 있다. 더 나아가 객체지향 및 코틀린 기능을 활용하여 유연하고 재사용 가능한 코드를 만들고, 코틀린 표준 라이브러리를 사용해 보고, 고유한 도메인별 언어를 작성하고, 코루틴 라이브러리를 사용하여 비동기 코드를 작성해 본다. 마지막으로 코테스트 및 안드로이드, 웹 애플리케이션 개발에 코틀린을 사용해 볼 것이다. 자바 및 JVM에 익숙하다면 이 책을 좀 더 수월하게 볼 수 있을 것이다. 자바와 코틀린을 비교하면서 코틀린을 더 쉽고 깊게 이해하고, 자바에서 코틀린으로 전환하는 법도 배울 수 있다. - [베타테스터 실습 후기] 코틀린을 처음 접하더라도 좀 더 친숙하게 배울 수 있도록 해주는 책입니다. 자바 구문과 비교하여 어떤 부분이 코틀린의 강점이고 코딩할 때 더 효율적인지 바로 이해할 수 있었습니다. 한 번쯤 구현해본 기능들을 실습 주제로 다루기 때문에 예제로 주어지는 샘플 코드를 코틀린 언어로 하나씩 학습하면서 흥미를 잃지 않고 진행할 수 있도록 안내해줬습니다. 코틀린을 처음 접했지만, 이 책으로 코틀린 문법을 잘 이해했을 뿐 아니라 함수와 객체지향 기능에 대한 유익한 내용도 쉽게 익힐 수 있었습니다. - 이동원_라인플러스 코틀린의 기초 문법부터 코틀린 설계를 뒷받침하는 기본 사상, 그리고 여러 응용 영역에서 사용되는 코틀린 라이브러리와 프레임워크를 전반적으로 살펴볼 수 있었습니다. 문법을 설명할 때는 자바와 코틀린의 차이점까지 설명하여 자바 개발자가 코틀린으로 쉽게 전환할 수 있도록 해줍니다. 코 - 허헌_프리랜서 기초 이론부터 고급 함수까지 실무에서 쓰는 기술을 익히는 데 큰 도움이 되는 책입니다. 코틀린과 자바를 비교하면서 주의할 사항을 쉽게 설명한 점이 인상 깊었습니다. 또한, 예제 코드가 잘 작동됩니다. 특히 코드를 설명하기 전에 x 값은 무엇이고 y 값은 무엇인지 적은 후 참인지 거짓인지 결과를 알려줘서 이해하기 편했습니다. 그리고 다른 책과 달리 인텔리J 단축키를 자세히 보여주므로 생산성을 높이는 데도 도움을 줍니다. - 오동주_SW 개발자 안드로이드를 활용하기 위한 코틀린이 아니라 언어로서 코틀린을 바라보게 해준 책이다. 비슷한 책으로 이미 『코틀린 인 액션』을 읽은 바 있지만, 이 책은 좀 더 넓은 범위를 다루고 활용되거나 접목되는 측면을 더했으며 실습을 통해 익히는 부분을 강조했다. 또한, 안드로이드의 젯팩 콤포즈와 Ktor를 통한 웹 개발이 수록된 것이 인상적이었다. 기본에 충실한 내용을 담고 있지만 트렌디한 부분까지 챙겨볼 수 있다는 매력이야말로 다른 책에서는 찾아볼 수 없는, 이 책만의 장점이라고 생각한다. - 박수빈_엔씨소프트 몇 년 전 안드로이드 개발자 사이트에 코틀린이 자바와 병기되어 표기될 즈음, 새 프로젝트는 코틀린으로 해보자는 의견이 있었으나 부정적 반응이 대부분이었고 저 또한 마찬가지였습니다. 그러나 그 후 몇 년 지나지 않아 어느새 주류로 자리 잡은 코틀린을 바라보면서, 새로운 기술 트렌드에 너무 둔감했던 것은 아닌지 자기반성을 하게 됩니다. 이 책에는 코틀린에 대한 모든 것이 담겨 있으며, 특히 코틀린의 특징을 자바와 비교하여 설명하는 부분이 요긴했습니다. 많은 내용을 담고 있으므로 소장용으로도 적합하고, 그 내용을 통해 많이 배웠습니다. 저자와 역자의 개발 노하우가 지면 곳곳에 묻어 있으므로, 끈기를 가지고 학습한다면 분명 좋은 결과가 있을 것으로 생각합니다. - 이진_휴맥스 예제는 코틀린 문법이 주를 이루고 있으니 책에서 자바와 코틀린의 차이를 명확히 설명해주는 부분인 ‘자바 vs. 코틀린’을 우선 살펴보면 빠르게 이해할 수 있습니다. 이 책을 통해 ‘내가 코틀린을 공부해야 하는가?’라는 질문과 관련해 활용 가능한 선택지가 많아졌다는 점에 감사합니다. - 박광현_(주)핀테크_개발팀 이 책은 안드로이드 애플리케이션 개발 언어로 알려진 코틀린의 기초와 객체지향 프로그래밍뿐 아니라 안드로이드 프로그래밍부터 웹 프로그램에서의 활용까지 순수 코틀린이라는 언어에 초점을 맞추면서 폭넓게 다루고 있습니다. 책의 중간중간에 제시된 자바 언어와 코틀린 언어 간의 차이를 비교해 가며 코틀린이라는 언어를 흥미롭게 학습할 수 있을 것입니다. - 김동원_한양사이버대학교 응용소프트웨어공학과

저자 소개

  • 저자 : 알렉세이 세두노프
저자 : 알렉세이 세두노프 (Aleksei Sedunov)
알렉세이 세두노프는 2008년부터 자바 개발자로 일해 왔다. 2012년 젯브레인즈에 합류한 이후, 인텔리J 플랫폼에서 IDE 도구 개발이 쉽도록 코틀린 언어를 개발하는 일에 활발히 참여해 왔다. 현재는 젯브레인즈의 데이터베이스 IDE인 데이터그립(DataGrip) 팀에서 코틀린을 주 개발 도구로 사용하면서 일하고 있다.

역자 : 오현석
비사이드소프트(BSIDESOFT) 이사로 일하면서 매일매일 고객의 요청에 따라 코드를 만들어내고 있는 현업 개발자다. 어릴 때 처음 컴퓨터를 접하고 매혹된 후 경기과학고, KAIST 전산학과(프로그래밍 언어 전공 석사)를 거치면서 계속 컴퓨터를 사용해 왔다.
직장에서는 주로 코틀린이나 자바를 사용한 서버 프로그래밍을 하고, 주말이나 빈 시간에는 번역을 하거나 공부를 하면서 즐거움을 찾는다. 시간이 아주 많이 남을 때는 시뮬레이션 게임을 하면서 머리를 식히고 놀고, 어떻게 하면 막내를 프로그래밍의 세계로 끌어들일 수 있을까 고민 중인 아빠이기도 하다.
『코어 파이썬 애플리케이션 프로그래밍 Core Python Applications Programming Third Edition』(에이콘출판, 2014)을 시작으로 『코틀린을 다루는 기술』(길벗, 2020), 『파이썬 코딩의 기술(개정 2판)』(길벗, 2020), 『한 권으로 읽는 컴퓨터 구조와 프로그래밍』(책만, 2021) 등 30여 권의 책을 번역했다.

목차

1장 강력하고 실용적인 코틀린
1.1 코틀린이란 무엇인가?
1.1.1 안전성
1.1.2 다중 패러다임
1.1.3 간결성과 표현력
1.1.4 상호 운용성
1.1.5 다중 플랫폼
1.2 코틀린 생태계
1.2.1 코루틴
1.2.2 테스트
1.2.3 안드로이드 개발
1.2.4 웹 개발
1.2.5 데스크톱 애플리케이션
1.3 코틀린 시작하기
1.3.1 인텔리J 프로젝트 설정하기
1.3.2 REPL 사용하기
1.3.3 코틀린 놀이터
1.4 이클립스 프로젝트 설정하기
1.5 결론

2장 코틀린 언어 기초
2.1 기본 문법
2.1.1 주석
2.1.2 변수 정의하기
2.1.3 식별자
2.1.4 가변 변수
2.1.5 식과 연산자
2.2 기본 타입
2.2.1 정수 타입
2.2.2 부동소수점 수
2.2.3 산술 연산
2.2.4 비트 연산
2.2.5 문자 타입 Char
2.2.6 수 변환
2.2.7 불 타입과 논리 연산
2.2.8 비교와 동등성
2.3 문자열
2.3.1 문자열 템플릿
2.3.2 기본 문자열 연산
2.4 배열
2.4.1 배열 정의하기
2.4.2 배열 사용하기
2.5 결론

3장 함수 정의하기
3.1 함수
3.1.1 코틀린 함수의 구조
3.1.2 위치 기반 인자와 이름 붙은 인자
3.1.3 오버로딩과 디폴트 값
3.1.4 vararg
3.1.5 함수의 영역과 가시성
3.2 패키지와 임포트
3.2.1 패키지와 디렉터리 구조
3.2.2 임포트 디렉티브 사용하기
3.3 조건문
3.3.1 if 문으로 선택하기
3.3.2 범위, 진행, 연산
3.3.3 when 문과 여럿 중에 하나 선택하기
3.4 루프
3.4.1 while과 do-while 루프
3.4.2 for 루프와 이터러블
3.4.3 루프 제어 흐름 변경하기: break와 continue
3.4.4 내포된 루프와 레이블
3.4.5 꼬리 재귀 함수
3.5 예외 처리
3.5.1 예외 던지기
3.5.2 try 문으로 예외 처리하기
3.6 결론
3.7 정리 문제

4장 클래스와 객체 다루기
4.1 클래스 정의하기
4.1.1 클래스 내부 구조
4.1.2 생성자
4.1.3 멤버 가시성
4.1.4 내포된 클래스
4.1.5 지역 클래스
4.2 널 가능성
4.2.1 널이 될 수 있는 타입
4.2.2 널 가능성과 스마트 캐스트
4.2.3 널 아님 단언 연산자
4.2.4 안전한 호출 연산자
4.2.5 엘비스 연산자
4.3 단순한 변수 이상인 프로퍼티
4.3.1 최상위 프로퍼티
4.3.2 늦은 초기화
4.3.3 커스텀 접근자 사용하기
4.3.4 지연 계산 프로퍼티와 위임
4.4 객체
4.4.1 객체 선언
4.4.2 동반 객체
4.4.3 객체 식
4.5 결론
4.6 정리 문제

5장 고급 함수와 함수형 프로그래밍 활용하기
5.1 코틀린을 활용한 함수형 프로그래밍
5.1.1 고차 함수
5.1.2 함수 타입
5.1.3 람다와 익명 함수
5.1.4 호출 가능 참조
5.1.5 인라인 함수와 프로퍼티
5.1.6 비지역적 제어 흐름
5.2 확장
5.2.1 확장 함수
5.3 확장 프로퍼티
5.4 동반 확장
5.4.1 람다와 수신 객체 지정 함수 타입
5.5 수신 객체가 있는 호출 가능 참조
5.5.1 영역 함수
5.5.2 클래스 멤버인 확장
5.6 결론
5.7 정리 문제

6장 특별한 클래스 사용하기
6.1 이넘 클래스
6.1.1 빠뜨린 부분이 없는 when 식
6.1.2 커스텀 멤버가 있는 이넘 정의하기
6.1.3 이넘 클래스의 공통 멤버 사용하기
6.2 데이터 클래스
6.2.1 데이터 클래스와 데이터 클래스에 대한 연산
6.2.2 구조 분해 선언
6.3 인라인 클래스(값 클래스)
6.3.1 인라인 클래스 정의하기
6.3.2 부호 없는 정수
6.4 결론
6.5 정리 문제

7장 컬렉션과 I/O 자세히 알아보기
7.1 컬렉션
7.1.1 컬렉션 타입
7.1.2 Comparable과 Comparator
7.1.3 컬렉션 생성하기
7.1.4 기본 컬렉션 연산
7.1.5 컬렉션 원소에 접근하기
7.1.6 컬렉션에 대한 조건 검사
7.1.7 집계
7.1.8 걸러내기
7.1.9 변환
7.1.10 하위 컬렉션 추출
7.1.11 순서
7.2 파일과 I/O 스트림
7.2.1 스트림 유틸리티
7.2.2 스트림 생성
7.2.3 URL 유틸리티
7.2.4 파일 콘텐츠 접근하기
7.2.5 파일 시스템 유틸리티
7.3 결론
7.4 정리 문제

8장 클래스 계층 이해하기
8.1 상속
8.1.1 하위 클래스 선언
8.1.2 하위 클래스 초기화
8.1.3 타입 검사와 캐스팅
8.1.4 공통 메서드
8.2 추상 클래스와 인터페이스
8.2.1 추상 클래스와 추상 멤버
8.2.2 인터페이스
8.2.3 봉인된 클래스와 인터페이스
8.2.4 위임
8.3 결론
8.4 정리 문제

9장 제네릭스
9.1 타입 파라미터
9.1.1 제네릭 선언
9.1.2 바운드와 제약
9.1.3 타입 소거와 구체화
9.2 변성
9.2.1 변성: 생산자와 소비자 구분
9.2.2 선언 지점 변성
9.2.3 프로젝션을 사용한 사용 지점 변성
9.2.4 스타 프로젝션
9.3 타입 별명
9.4 결론
9.5 정리 문제

10장 애너테이션과 리플렉션
10.1 애너테이션
10.1.1 애너테이션 클래스 정의하고 사용하기
10.1.2 내장 애너테이션
10.2 리플렉션
10.2.1 리플렉션 API 개요
10.2.2 지정자와 타입
10.2.3 호출 가능
10.3 결론
10.4 정리 문제

11장 도메인 특화 언어
11.1 연산자 오버로딩
11.1.1 단항 연산
11.1.2 증가와 감소
11.1.3 이항 연산
11.1.4 중위 연산
11.1.5 대입
11.1.6 호출과 인덱스로 원소 찾기
11.1.7 구조 분해
11.1.8 이터레이션
11.2 위임 프로퍼티
11.2.1 표준 위임들
11.2.2 커스텀 위임 만들기
11.2.3 위임 표현
11.3 고차 함수와 DSL
11.3.1 중위 함수를 사용해 플루언트 DSL 만들기
11.3.2 타입 안전한 빌더 사용하기
11.3.3 @DslMarker
11.4 결론
11.5 정리 문제

12장 자바 상호 운용성
12.1 자바 코드를 코틀린에서 사용하기
12.1.1 자바 메서드와 필드
12.1.2 Unit과 void
12.1.3 합성 프로퍼티
12.1.4 플랫폼 타입
12.1.5 널 가능성 애너테이션
12.1.6 자바/코틀린 타입 매핑
12.1.7 단일 추상 메서드 인터페이스
12.1.8 자바를 코틀린으로 변환하는 변환기 사용하기
12.2 코틀린 코드를 자바에서 사용하기
12.2.1 프로퍼티 접근
12.2.2 파일 퍼사드와 최상위 선언
12.2.3 객체와 정적 멤버
12.2.4 노출된 선언 이름 변경하기
12.2.5 오버로딩한 메서드 생성하기
12.2.6 예외 선언하기
12.2.7 인라인 함수
12.2.8 타입 별명
12.3 결론
12.4 정리 문제

13장 동시성
13.1 코루틴
13.1.1 코루틴과 일시 중단 함수
13.1.2 코루틴 빌더
13.1.3 코루틴 영역과 구조적 동시성
13.1.4 코루틴 문맥
13.2 코루틴 흐름 제어와 잡 생명 주기
13.2.1 취소
13.2.2 타임아웃
13.2.3 코루틴 디스패치하기
13.2.4 예외 처리
13.3 동시성 통신
13.3.1 채널
13.3.2 생산자
13.3.3 티커
13.3.4 액터
13.4 자바 동시성 사용하기
13.4.1 스레드 시작하기
13.4.2 동기화와 락
13.5 결론
13.6 정리 질문

14장 코틀린 테스팅
14.1 코테스트 명세
14.1.1 코테스트 시작하기
14.1.2 명세 스타일
14.2 단언문
14.2.1 매처
14.2.2 인스펙터
14.2.3 예외 처리
14.2.4 비결정적 코드 테스트하기
14.2.5 속성 기반 테스트
14.3 픽스처와 설정
14.3.1 픽스처 제공하기
14.3.2 테스트 설정
14.4 결론
14.5 정리 질문

15장 안드로이드 애플리케이션
15.1 안드로이드 개발 시작하기
15.1.1 안드로이드 스튜디오 프로젝트 설정하기
15.1.2 그레이들 빌드 스크립트
15.1.3 액티비티
15.1.4 에뮬레이터 사용하기
15.2 액티비티
15.2.1 애플리케이션 UI 설계하기
15.2.2 액티비티 클래스 정의하기
15.2.3 젯팩 뷰 바인딩
15.2.4 액티비티 상태 유지하기
15.2.5 젯팩 콤포즈 레이아웃 DSL
15.3 결론
15.4 정리 문제

16장 Ktor를 활용한 웹 개발
16.1 Ktor 소개
16.2 서버 관련 기능
16.2.1 라우팅
16.2.2 HTTP 요청 처리
16.2.3 HTML DSL
16.2.4 세션 지원
16.3 클라이언트 기능
16.3.1 요청과 응답
16.3.2 쿠키
16.4 결론
16.5 정리 문제

17장 마이크로서비스 구축
17.1 마이크로서비스 아키텍처
17.2 스프링 부트 소개
17.2.1 프로젝트 설정
17.3 서비스 API 결정하기
17.3.1 난수 생성기 서비스 구현하기
17.3.2 암호 생성 서비스 구현하기
17.4 Ktor를 사용한 마이크로서비스
17.4.1 JSON 직렬화 사용하기
17.4.2 암호 생성기 서비스 구현하기
17.5 결론
17.6 정리 문제

찾아보기

top