본문내용 바로가기
MD의선택 무료배송 이벤트 사은품 소득공제

빅 너드 랜치의 코틀린 프로그래밍

아이러브모바일 36
조시 스킨 , 데이비드 그린핼프 지음 | 심재철 옮김 | 제이펍 | 2019년 03월 29일 출간
  • 정가 : 30,000원
    판매가 : 27,000 [10%↓ 3,000원 할인]
  • 혜택 :
    [기본적립] 1500원 적립 [5% 적립] [추가적립] 5만원 이상 구매 시 2,000원 추가적립 안내 [회원혜택] 회원 등급 별, 3만원 이상 구매 시 2~4% 추가적립 안내 [리뷰적립] 리뷰 작성 시 e교환권 최대 300원 추가적립 안내
  • 추가혜택 : 포인트 안내 도서소득공제 안내 추가혜택 더보기
  • 배송비 : 무료 배송비 안내
  • 배송일정 : 서울특별시 종로구 세종대로 기준 지역변경
    당일배송 지금 주문하면 오늘(19일,토) 도착 예정 배송일정 안내
  • 바로드림 : 인터넷으로 주문하고 매장에서 직접 수령 안내 바로드림 혜택
    휴일에는 바로드림 픽업으로 더 빨리 받아 보세요. 바로드림 혜택받고 이용하기

이 책의 이벤트

해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.
  • 제이펍 IT 도서 구매 시 스마트 클리너(키보드 덮개) 사은품 ..
    2020.08.19 ~ 2021.06.30
  • 책을 통해 성장해나가는 개발자를 응원합니다.
    2017.06.22 ~ 2025.07.31
  • MANNING, O'REILLY, PACKT, WILE..
    2016.03.07 ~ 2022.12.31
상품상세정보
ISBN 9791188621538(118862153X)
쪽수 476쪽
크기 188 * 244 * 31 mm /918g 판형알림
이 책의 원서/번역서 Kotlin Programming: The Big Nerd Ranch Guide / Skeen, Josh

책소개

이 책이 속한 분야

이 책의 주제어

2019년 가장 유망하고 배워 둘 가치가 있는 프로그래밍 언어 중 하나로 선정된 코틀린!
‘빅 너드 랜치’의 풍부한 소프트웨어 교육과 개발 노하우가 담긴 코틀린 서적!

코틀린은 객체지향뿐만 아니라 함수형 프로그래밍 패러다임까지 품고 있습니다. 이 코틀린 언어를 실습과 함께 확실하게 내 것으로 만들고 싶으시다면 이 책을 선택하세요.

각종 코틀린 학습 키워드를 바탕으로 게임을 만들어가며 차근히 학습할 수 있습니다. 게임을 만든다는 목적이 있으므로 당연히 실습을 위한 많은 예제가 포함되어 있으며, 그 과정 중 독자가 궁금해할 만한 내용을 바로바로 해소해주는 내용도 충실합니다. 무엇보다 각 장 끝에는 하나 이상의 챌린지가 있는데, 이것은 독자분들의 확실한 이해를 위해 작성된 것으로 코틀린을 숙지하는 데 도움이 되도록 반드시 직접 풀어 보면서 학습하세요.

상세이미지

코틀린 프로그래밍(빅 너드 랜치의)(아이러브모바일 36) 도서 상세이미지

목차

CHAPTER 1 첫 번째 코틀린 애플리케이션 작성하기 1
인텔리제이 설치하기 ...... 1
첫 번째 코틀린 프로젝트 생성하기 ...... 2
코틀린 REPL ...... 9
궁금증 해소하기: 왜 인텔리제이를 사용할까? ...... 11
궁금증 해소하기: JVM에서 실행하기 ...... 11
챌린지: REPL로 산술 연산자 테스트하기 ...... 12

CHAPTER 2 변수, 상수, 타입 13
타입 ...... 13
변수 선언하기 ...... 14
코틀린의 내장 타입 ...... 16
읽기 전용 변수 ...... 17
타입 추론 ...... 20
컴파일 시점 상수 ...... 22
코틀린 바이트코드 살펴보기 ...... 23
궁금증 해소하기: 코틀린의 자바 기본 타입 ...... 25
챌린지: hasSteed ...... 27
챌린지: 유니콘의 뿔 ...... 27
챌린지: 마법의 거울 ...... 28

CHAPTER 3 조건문과 조건식 29
if/else 문 ...... 30
범위 ...... 42
when 표현식 ...... 43
문자열 템플릿 ...... 45
챌린지: 범위에 관해 추가로 알아보기 ...... 47
챌린지: 아우라 관련 코드 개선하기 ...... 48
챌린지: 구성 가능한 형식의 상태 출력 ...... 49

CHAPTER 4 함수 51
기존 코드를 함수로 만들기 ...... 51
함수의 구조 ...... 54
함수 호출하기 ...... 58
함수들로 리팩터링하기 ...... 60
우리의 함수 작성하기 ...... 62
기본 인자 ...... 63
단일 표현식 함수 ...... 65
Unit 함수 ...... 66
지명 함수 인자 ...... 67
궁금증 해소하기: Nothing 타입 ...... 68
궁금증 해소하기: 자바의 파일 수준 함수 ...... 70
궁금증 해소하기: 함수 오버로딩 ...... 72
궁금증 해소하기: 백틱 함수 이름 ...... 73
챌린지: 단일 표현식 함수 ...... 75

CHAPTER 5 익명 함수와 함수 타입 77
익명 함수 ...... 77
타입 추론 지원 ...... 84
함수를 인자로 받는 함수 정의하기 ...... 86
인라인 함수로 만들기 ...... 88
함수 참조 ...... 90
반환 타입으로 함수 타입 사용하기 ...... 91
궁금증 해소하기: 코틀린의 람다는 클로저다 ...... 93
궁금증 해소하기: 람다 vs 익명 내부 클래스 ...... 94

CHAPTER 6 null 안전과 예외 97
코틀린의 null 처리 개요 ...... 97
코틀린의 명시적 null 타입 ...... 99
에러 검출 시점(컴파일 VS 런타임) ...... 101
null 안전 처리 ...... 101
예외 ...... 109
전제 조건 ...... 114
null: 무엇이 좋을까? ...... 116
궁금증 해소하기: checked 예외와 unchecked 예외 ...... 117
궁금증 해소하기: 다른 언어의 코드를 같이 사용할 때의 null 처리 ...... 118

CHAPTER 7 문자열 121
부분 문자열 추출하기 ...... 121
문자열 변경하기 ...... 126
문자열 비교 ...... 129
궁금증 해소하기: 유니코드 ...... 130
궁금증 해소하기: 문자열의 각 문자를 하나씩 처리하기 ...... 131
챌린지: toDragonSpeak 함수 개선하기 ...... 132

CHAPTER 8 숫자 133
숫자 타입 ...... 133
정수 ...... 134
소수 ...... 136
문자열을 숫자 타입으로 변환하기 ...... 137
Int 타입을 Double 타입으로 변환하기 ...... 138
Double 타입 값의 형식 지정하기 ...... 140
Double 타입 값을 Int 타입 값으로 변환하기 ...... 141
궁금증 해소하기: 비트 연산 ...... 142
챌린지: 잔액 부족 처리하기 ...... 143

CHAPTER 9 표준 함수 145
apply ...... 145
let ...... 147
run ...... 148
with ...... 150
also ...... 150
takeIf ...... 151
표준 라이브러리 함수 사용하기 ...... 153

CHAPTER 10 List와 Set 155
List ...... 155
반복 처리 ...... 165
파일 데이터를 읽어서 List에 넣기 ...... 169
해체 선언 ...... 172
Set ...... 172
while 루프 ...... 177
break 표현식 ...... 179
컬렉션 변환 ...... 180
궁금증 해소하기: 배열 타입 ...... 181
궁금증 해소하기: 읽기 전용 vs 변경 불가능 ...... 182
챌린지: 정형화된 술집 메뉴 ...... 183

CHAPTER 11 Map 185
Map 생성하기 ...... 185
Map에서 값 가져오기 ...... 188
Map에 항목 추가하기 ...... 189
Map의 값 변경하기 ...... 191
챌린지: 술집 문지기 ...... 195

CHAPTER 12 클래스 정의하기 197
클래스 정의하기 ...... 197
인스턴스 생성하기 ...... 198
클래스 함수 ...... 199
가시성과 캡슐화 ...... 200
클래스 속성 ...... 202
NyetHack 코드 리팩터링하기 ...... 209
패키지 사용하기 ...... 217
궁금증 해소하기: var과 val 속성의 내부 구현 ...... 220
궁금증 해소하기: 경합 상태 방지하기 ...... 223
궁금증 해소하기: 패키지 가시성 ...... 225

CHAPTER 13 초기화 227
생성자 ...... 228
초기화 블록 ...... 234
속성 초기화 ...... 235
초기화 순서 ...... 239
초기화 지연시키기 ...... 241
궁금증 해소하기: 초기화 순서를 고려한 코드 작성 ...... 244
챌린지: 엑스컬리버 검의 불가사의 ...... 247

CHAPTER 14 상속 249
Room 클래스 정의하기 ...... 249
서브 클래스 생성하기 ...... 251
타입 검사 ...... 257
코틀린 타입의 상속 계층 ...... 260
궁금증 해소하기: Any 클래스 ...... 263

CHAPTER 15 객체 267
object 키워드 ...... 267
중첩 클래스 ...... 276
데이터 클래스 ...... 279
enum 클래스 ...... 284
연산자 오버로딩 ...... 287
NyetHack 게임 세계 탐험하기 ...... 290
궁금증 해소하기: 객체의 값 비교하기 ...... 293
궁금증 해소하기: ADT ...... 296
챌린지: ‘quit’ 명령 ...... 299
챌린지: 게임 세계 지도 구현하기 ...... 300
챌린지: 종을 치기 ...... 300

CHAPTER 16 인터페이스와 추상 클래스 301
인터페이스 정의하기 ...... 301
인터페이스 구현하기 ...... 303
기본 구현 ...... 305
추상 클래스 ...... 306
NyetHack의 전투 기능 ...... 309

CHAPTER 17 제네릭 315
제네릭 타입 정의하기 ...... 316
제네릭 함수 ...... 318
복합 제네릭 타입 매개변수 ...... 320
제네릭 타입 제약 ...... 322
vararg와 get ...... 323
in과 out ...... 326
궁금증 해소하기: reified 키워드 ...... 331

CHAPTER 18 확장 335
확장 함수 정의하기 ...... 335
제네릭 확장 함수 ...... 338
확장 속성 ...... 340
null 가능 타입의 확장 함수 ...... 341
확장 함수의 바이트코드 구현 ...... 342
확장 함수로 추출하기 ...... 343
확장 파일 정의하기 ...... 345
확장 함수 이름 변경하기 ...... 347
코틀린 표준 라이브러리의 확장 함수와 속성 ...... 348
챌린지: toDragonSpeak 확장 함수 ...... 349
챌린지: frame을 확장 함수로 변경하기 ...... 349

CHAPTER 19 함수형 프로그래밍 351
함수 유형 ...... 352
왜 함수형 프로그래밍일까? ...... 357
시퀀스 ...... 359
궁금증 해소하기: 성능 측정 ...... 361
챌린지: Map의 키와 값을 바꿔치기하기 ...... 362
챌린지: 함수형 프로그래밍을 Tavern.kt에 적용하기 ...... 362
챌린지: 슬라이딩 윈도 ...... 363

CHAPTER 20 자바와의 상호운용 365
자바 클래스와 상호운용하기 ...... 366
상호운용과 null 처리 ...... 367
타입 매핑 ...... 371
게터와 세터 그리고 상호운용 ...... 373
JVM 애노테이션 ...... 375
예외와 상호운용 ...... 385
자바의 함수 타입 ...... 389
org.jetbrains.annotations 라이브러리 추가하기 ...... 391

CHAPTER 21 코틀린으로 안드로이드 앱 개발하기 393
안드로이드 스튜디오 ...... 393
UI 정의하기 ...... 400
에뮬레이터에서 앱 실행하기 ...... 403
캐릭터 생성하기 ...... 405
Activity 클래스 ...... 406
뷰 컴포넌트를 코드와 연결시키기 ...... 407
코틀린-안드로이드 확장의 합성 속성 ...... 410
클릭 리스너 설정하기 ...... 412
액티비티 인스턴스의 상태 보존 ...... 414
확장 함수를 사용해서 코드 리팩토링하기 ...... 417
궁금증 해소하기: 안드로이드 KTX와 Anko 라이브러리 ...... 420

CHAPTER 22 코루틴 개요 423
캐릭터 데이터 파싱하기 ...... 424
실시간으로 데이터 가져오기 ...... 426
안드로이드 main 스레드 ...... 429
코루틴을 활성화시키기 ...... 429
async 함수를 사용하여 코루틴 지정하기 ...... 430
launch vs async/await ...... 432
실행 보류 함수 ...... 432
챌린지: 실시간 데이터 ...... 433

CHAPTER 23 이 책을 마치며 435
어디로 가야 할까? ...... 435
부담 없는 연락처 ...... 436
감사합니다! ...... 436

APPENDIX A 인텔리제이 설치와 구성하기 437
A-1: JDK 설치하기 ...... 437
A-2: 윈도우 시스템에서 인텔리제이를 설치하기 ...... 437
A-3: 맥 OS에서 인텔리제이를 설치하기 ...... 442
A-4: 리눅스에서 인텔리제이를 설치하기 ...... 442

책 속으로

인텔리제이를 사용하면 코틀린 외에도 자바, 파이썬, 스칼라, 그루비 등의 다른 프로그래밍 언어로 코드를 작성할 수 있다. 여기처럼 Kotlin/JVM을 선택하는 것은 JVM(Java Virtual Machine)에서 실행되는 코틀린 코드를 목표로 작성한다는 뜻이다. 따라서 하나의 소스 코드만으로도 서로 다른 운영체제에서 실행할 수 있다(JVM에 관련된 더 자세한 내용은 이번 장 뒤의 ‘궁금증 해소하기: JVM에서 실행하기’에서 더 자세히 알아본다). _3p

익명 함수는 여는 중괄호({)와 닫는 중괄호(}) 사이에 표현식이나 ... 더보기

Klover 리뷰 (0)

북로그 리뷰 (1) 전체보기 쓰러가기

북로그 리뷰는 본인 인증 후 작성 가능합니다.
책이나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 내용은 비공개 처리 될 수 있습니다.
※ 북로그 리뷰 리워드 제공 2021. 4. 1 종료
  • 자바 언어를 바탕으로 안드로이드 뉴스 앱을 만들어봤습니다. 안드로이드 앱을 개발하면서 보기 좋은 코드를 만들 수 없을까 생각했었는데요. 마침 코틀린 코드가 간결하고 안드로이드 공식 언어가 됐다는 소식을 접하게 됐습니다. 안드로이드 공식 언어인 코틀린을 공부하고자 하는 분들에게 재밌게 배울 수 있는 책을 소개해 드리겠습니다. 그 책은 바로 ‘빅 너드 랜치의 코틀린 프로그래밍’ 입니다. 1.코틀린 공부를 게임 만드는 느낌으로 한다. 이 책은 변수 선언부터 클래스로 만들기까지 게임을 만든다는 느낌이 들어습니다. ... 더보기

문장수집 (0) 문장수집 쓰기 나의 독서기록 보기
※구매 후 문장수집 작성 시, 리워드를 제공합니다. 안내

교환/반품/품절안내

※ 상품 설명에 반품/교환 관련한 안내가 있는 경우 그 내용을 우선으로 합니다. (업체 사정에 따라 달라질 수 있습니다.)

교환/반품/품절안내
반품/교환방법 마이룸 > 주문관리 > 주문/배송내역 > 주문조회 > 반품/교환신청 ,
[1:1상담>반품/교환/환불] 또는 고객센터 (1544-1900)

※ 오픈마켓, 해외배송주문, 기프트 주문시 [1:1상담>반품/교환/환불]
    또는 고객센터 (1544-1900)
반품/교환가능 기간 변심반품의 경우 수령 후 7일 이내,
상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내
반품/교환비용 변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
반품/교환 불가 사유
  • 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
    (단지 확인을 위한 포장 훼손은 제외)
  • 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    예) 화장품, 식품, 가전제품(악세서리 포함) 등
  • 복제가 가능한 상품 등의 포장을 훼손한 경우
    예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
  • 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우 ((1)해외주문도서)
  • 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
  • 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
  • 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에
    해당되는 경우
(1) 해외주문도서 : 이용자의 요청에 의한 개인주문상품으로 단순변심 및 착오로 인한 취소/교환/반품 시 ‘해외주문 반품/취소 수수료’ 고객 부담 (해외주문 반품/취소 수수료 : ①서양도서-판매정가의 12%, ②일본도서-판매정가의 7%를 적용)
상품 품절 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는
이메일과 문자로 안내드리겠습니다.
소비자 피해보상
환불지연에 따른 배상
  • 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은
    소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됨
  • 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의
    소비자 보호에 관한 법률에 따라 처리함

이 책의 원서/번역서

안내
바로가기
  • 우측 확장형 배너 2
  • 우측 확장형 배너 2
최근 본 상품