장바구니 담기 close

장바구니에 상품을 담았습니다.

코틀린 완벽 가이드

코틀린 완벽 가이드

  • 알렉세이세두노프
  • |
  • 길벗
  • |
  • 2022-02-28 출간
  • |
  • 704페이지
  • |
  • 183 X 235 X 28 mm
  • |
  • ISBN 9791165218911
판매가

36,000원

즉시할인가

32,400

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
32,400

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평




강력하고 실용적인 코틀린!
기초, 심화, 활용을 한 권으로!

이 책은 코틀린 언어의 기초부터 심화 내용까지 탄탄히 배우고 모바일, 웹, 데스크톱에서 다양한 애플리케이션을 개발하는 데 코틀린을 사용해 보는 것을 목표로 한다. 이 책을 통해 코틀린의 기본 문법을 시작으로 동작 원리와 그 이면의 핵심 아이디어를 이해할 수 있다. 더 나아가 객체지향 및 코틀린 기능을 활용하여 유연하고 재사용 가능한 코드를 만들고, 코틀린 표준 라이브러리를 사용해 보고, 고유한 도메인별 언어를 작성하고, 코루틴 라이브러리를 사용하여 비동기 코드를 작성해 본다. 마지막으로 코테스트 및 안드로이드, 웹 애플리케이션 개발에 코틀린을 사용해 볼 것이다. 자바 및 JVM에 익숙하다면 이 책을 좀 더 수월하게 볼 수 있을 것이다. 자바와 코틀린을 비교하면서 코틀린을 더 쉽고 깊게 이해하고, 자바에서 코틀린으로 전환하는 법도 배울 수 있다.


[베타테스터 실습 후기]
코틀린을 처음 접하더라도 좀 더 친숙하게 배울 수 있도록 해주는 책입니다. 자바 구문과 비교하여 어떤 부분이 코틀린의 강점이고 코딩할 때 더 효율적인지 바로 이해할 수 있었습니다. 한 번쯤 구현해본 기능들을 실습 주제로 다루기 때문에 예제로 주어지는 샘플 코드를 코틀린 언어로 하나씩 학습하면서 흥미를 잃지 않고 진행할 수 있도록 안내해줬습니다.
코틀린을 처음 접했지만, 이 책으로 코틀린 문법을 잘 이해했을 뿐 아니라 함수와 객체지향 기능에 대한 유익한 내용도 쉽게 익힐 수 있었습니다.
- 이동원_라인플러스

코틀린의 기초 문법부터 코틀린 설계를 뒷받침하는 기본 사상, 그리고 여러 응용 영역에서 사용되는 코틀린 라이브러리와 프레임워크를 전반적으로 살펴볼 수 있었습니다. 문법을 설명할 때는 자바와 코틀린의 차이점까지 설명하여 자바 개발자가 코틀린으로 쉽게 전환할 수 있도록 해줍니다. 코
- 허헌_프리랜서

기초 이론부터 고급 함수까지 실무에서 쓰는 기술을 익히는 데 큰 도움이 되는 책입니다. 코틀린과 자바를 비교하면서 주의할 사항을 쉽게 설명한 점이 인상 깊었습니다. 또한, 예제 코드가 잘 작동됩니다. 특히 코드를 설명하기 전에 x 값은 무엇이고 y 값은 무엇인지 적은 후 참인지 거짓인지 결과를 알려줘서 이해하기 편했습니다. 그리고 다른 책과 달리 인텔리J 단축키를 자세히 보여주므로 생산성을 높이는 데도 도움을 줍니다.
- 오동주_SW 개발자

안드로이드를 활용하기 위한 코틀린이 아니라 언어로서 코틀린을 바라보게 해준 책이다. 비슷한 책으로 이미 『코틀린 인 액션』을 읽은 바 있지만, 이 책은 좀 더 넓은 범위를 다루고 활용되거나 접목되는 측면을 더했으며 실습을 통해 익히는 부분을 강조했다. 또한, 안드로이드의 젯팩 콤포즈와 Ktor를 통한 웹 개발이 수록된 것이 인상적이었다. 기본에 충실한 내용을 담고 있지만 트렌디한 부분까지 챙겨볼 수 있다는 매력이야말로 다른 책에서는 찾아볼 수 없는, 이 책만의 장점이라고 생각한다.
- 박수빈_엔씨소프트

몇 년 전 안드로이드 개발자 사이트에 코틀린이 자바와 병기되어 표기될 즈음, 새 프로젝트는 코틀린으로 해보자는 의견이 있었으나 부정적 반응이 대부분이었고 저 또한 마찬가지였습니다. 그러나 그 후 몇 년 지나지 않아 어느새 주류로 자리 잡은 코틀린을 바라보면서, 새로운 기술 트렌드에 너무 둔감했던 것은 아닌지 자기반성을 하게 됩니다.
이 책에는 코틀린에 대한 모든 것이 담겨 있으며, 특히 코틀린의 특징을 자바와 비교하여 설명하는 부분이 요긴했습니다. 많은 내용을 담고 있으므로 소장용으로도 적합하고, 그 내용을 통해 많이 배웠습니다. 저자와 역자의 개발 노하우가 지면 곳곳에 묻어 있으므로, 끈기를 가지고 학습한다면 분명 좋은 결과가 있을 것으로 생각합니다.
- 이진_휴맥스

예제는 코틀린 문법이 주를 이루고 있으니 책에서 자바와 코틀린의 차이를 명확히 설명해주는 부분인 ‘자바 vs. 코틀린’을 우선 살펴보면 빠르게 이해할 수 있습니다. 이 책을 통해 ‘내가 코틀린을 공부해야 하는가?’라는 질문과 관련해 활용 가능한 선택지가 많아졌다는 점에 감사합니다.
- 박광현_(주)핀테크_개발팀

이 책은 안드로이드 애플리케이션 개발 언어로 알려진 코틀린의 기초와 객체지향 프로그래밍뿐 아니라 안드로이드 프로그래밍부터 웹 프로그램에서의 활용까지 순수 코틀린이라는 언어에 초점을 맞추면서 폭넓게 다루고 있습니다. 책의 중간중간에 제시된 자바 언어와 코틀린 언어 간의 차이를 비교해 가며 코틀린이라는 언어를 흥미롭게 학습할 수 있을 것입니다.
- 김동원_한양사이버대학교 응용소프트웨어공학과


목차


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 정리 문제

찾아보기

도서소개

 

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 : 070-4821-5101
교환/반품주소
  • 부산광역시 부산진구 중앙대로 856 303호 / (주)스터디채널 / 전화 : 070-4821-5101
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.