청구할인 안내(인터파크 제휴카드) | 안내
삼성카드 3% (3만원 이상 결제/최대 1만원 할인)
북피니언 롯데카드 30% (최대할인 3만원 / 3만원 이상 결제)
하나SK 북&카드 30% (최대할인 3만원 / 3만원 이상 결제)
EBS 롯데카드 20% (최대할인 3만원 / 3만원 이상 결제)
인터파크 NEW 우리V카드 10% (최대할인 3만원 / 3만원 이상 결제)
인터파크 현대카드 7% (최대할인 3만원 / 3만원 이상 결제)
Close

코틀린 프로그래밍 : 상세한 가이드로 코틀린 기능과 친숙해지기

원제 : Programming Kotlin: Familiarize yourself with all of Kotlin's features with this in-depth guide

2013년 9월 9일 이후 누적수치입니다.

판매지수 865
?
판매지수란?
사이트의 판매량에 기반하여 판매량 추이를 반영한 인터파크 도서에서의 독립적인 판매 지수입니다. 현재 가장 잘 팔리는 상품에 가중치를 두었기 때문에 실제 누적 판매량과는 다소 차이가 있을 수 있습니다. 판매량 외에도 다양한 가중치로 구성되어 최근의 이슈도서 확인시 유용할 수 있습니다. 해당 지수는 매일 갱신됩니다.
Close
공유하기
정가

30,000원

  • 27,000 (10%할인)

    1,500P (5%적립)

배송정보
  • 예약판매
  • 2018-01-19 (공급업체사정에 따라 입고예정일은 변경될 수 있습니다.)
  • 배송지연보상 안내
  • 무료배송
주문수량
감소 증가
  • 이벤트/기획전(1)

  • 연관도서(309)

  • 사은품(4)

책소개

코틀린은 JVM진영의 새로운 언어로 많은 관심을 받고 있다. 이 책에서는 코틀린의 기본 문법은 물론 동시성과 같은 어려운 주제까지 폭넓은 주제를 다루고 있다. JVM 기반 언어가 생소한 독자도 쉽게 배울 수 있으며, 자바와 같이 기존 JVM 기반 언어를 개발해 본 독자라면 코틀린에서 제공하는 풍부하고 손쉬운 기능들을 보면서 개발하는 데 새로운 즐거움을 느낄 수 있을 것이다.

출판사 서평

[이 책에서 다루는 내용]

- 구조화되고 가독성 좋은 객체지향 코드 작성을 위한 새로운 기능 사용
- 깔끔하고 재사용이 가능하며 간단한 코드 작성을 위한 람다와 고차 함수 사용법 이해
- 유닛 테스트 작성 및 변환된 코드 기반에서 코틀린 테스트와 자바 코드 통합
- 마이크로서비스 스타일을 사용해 코틀린으로 실제 상용 코트 작성
- 코틀린 확장을 자바 컬렉션 라이브러리에 활용하기
- 널 포인터 에러를 피하는 코드를 작성하고, 자바의 널 값이 가능한 코드가 코틀린 코드베이스에 있는 기능과 어떻게 통합될 수 있는지를 확인하기
- 코틀린에서 함수를 작성하는 방법과 사용 가능한 새로운 기능을 살펴보고, 기존 라이브러리를 확장하기

[이 책의 대상 독자]

이 책은 코틀린 경험이 없으면서 언어를 빠르게 습득하고자 하는 독자를 대상으로 한다.
책에서는 코틀린을 이용한 서버 사이드 개발에 중점을 두고 있으며, 현재 서버 사이드 개발자거나 이를 배우고자 하는 개발자에게는 안성맞춤일 것이다. 함수형 프로그래밍이나 객체지향 프로그래밍에 대한 선지식이 필요하지는 않지만 다른 프로그래밍 언어에 대한 지식이 있으면 좋다.
일부 장에는 자바 구현체와 코틀린을 비교하는 간단한 절이 있기는 하지만, 자바에 대한 지식이 없는 독자라면 이러한 절은 건너뛰어도 무방하다.

[이 책의 구성]

1장, '코틀린 시작하기'에서는 코틀린과 젯브레인(Jetbrains) 사의 인텔리제이(Intellij) IDEA 그리고 그레이들(Gradle) 빌드 환경을 설치하는 방법을 다룬다. 툴 체인 설정을 완료한 다음 첫 번째 코틀린 프로그램을 작성하는 방법을 보여준다.
2장, '코틀린 기본기'에서는 기본 타입과 기본 문법, 그리고 if 문과 for 문, while 루프 같은 프로그램 흐름 제어 구조를 포함한 코틀린의 기본사항을 배워본다. 또한 2장에서는 when 표현식과 타입 추론 같은 코틀린에 특화된 기능도 다룬다.
3장, '코틀린과 객체지향 프로그래밍'에서는 코틀린 언어의 객체지향적 측면에 초점을 맞춘다. 3장에서는 클래스, 인터페이스, 객체 그리고 이들 간의 관계와 서브타입과 다형성을 소개한다.
4장, '코틀린과 함수'에서는 다른 언어에서 기본 구성요소인 프로시저나 메소드로 알려진 함수에 대해 살펴본다. 4장에서는 이름이 있는 매개변수, 기본 매개변수, 함수 리터럴 같이 코틀린에서 향상된 기능을 포함한 함수를 위한 문법을 설명한다.
5장, '고차 함수와 함수형 프로그래밍'에서는 흔히 람다라고 알려진 클로저와 함수 참조(function reference)를 포함한 코틀린의 함수형 프로그래밍 측면에 중점을 둔다. 5장에서는 여기서 더 나아가 부분 적용과 함수 합성, 오류 축적 같은 함수형 프로그래밍 기교도 다뤄본다.
6장, '프로퍼티'에서는 클래스나 객체에서 값을 노출하기 위해 객체지향 프로그래밍과 함께 동작하는 프로퍼티에 대해 설명한다. 6장에서는 프로퍼티가 어떻게 동작하는지와 사용자가 프로퍼티를 어떻게 잘 활용할 수 있는지 그리고 프로퍼티가 바이트 코드로는 어떻게 표현되는지를 다룬다.
7장, '널 안정성, 리플렉션, 애노테이션'에서는 널 안정성이 코틀린이 제공하는 핵심 기능 중 하나라는 점을 설명한다. 7장에서는 우선, 코틀린에서 널 안정성이 왜 필요한지와 어떻게 사용하는지를 자세히 설명한다. 그런 다음, 런타임에서 코드를 반영하는 리플렉션에 대해 설명하면서 리플렉션이 메타프로그래밍에서 애노테이션과 함께 어떻게 사용될 수 있는지를 살펴본다.
8장, '제네릭'에서는 제네릭 또는 매개변수화된 타입은 향상된 타입 시스템의 핵심 요소이며, 코틀린의 타입 시스템은 자바에서 사용 가능한 것보다 좀 더 향상돼 있음을 설명한다.
8장에서는 Nothing 타입과 대수학 데이터 타입을 포함한 변경된 타입 시스템을 다룬다.
9장, '데이터 클래스'에서는 불변성과 보일러플레이트하지 않은 도메인 클래스가 코드를 더욱 단단하게 해주고 동시성 프로그래밍을 단순화하는 방법이라는 점에서 최근 뜨거운 감자임을 보여준다. 코틀린은 이러한 영역에 초점을 둔 많은 기능을 갖고 있으며, 이를 데이터 클래스라 부른다.
10장, '컬렉션'에서는 컬렉션이 표준 라이브러리에서 가장 일반적으로 사용되는 측면 중 하나라는 점을 설명하면서, 자바 컬렉션과 다르지 않다는 점을 설명한다. 10장에서는 맵(map) 과 폴드(fold), 필터(filter) 같은 함수형 연산을 포함해 코틀린에서 JDK 컬렉션을 강화한 점을 설명한다.
11장, '코틀린과 테스트'에서는 새로운 언어로 들어가는 관문 중 하나가 테스트 코드를 작성하는 데 그 언어를 사용하는 것임을 설명한다. 11장에서는 흥미진진한 테스트 프레임워크인 KotlinTest를 사용해 표준 JUnit 테스트가 허용하는 것보다 훨씬 표현력이 풍부하고 사람이 읽을 수 있는 테스트를 작성하는 방법을 보여준다.
12장, '코틀린과 마이크로서비스'에서는 최근 몇 년간 마이크로서비스가 서버 측 아키텍처를 지배해왔으며 코틀린은 이러한 서비스를 구현하기 위한 훌륭한 선택이라는 점을 보여준다.
12장에서는 라곰(Lagom) 마이크로서비스 프레임워크를 소개하고, 코틀린과 함께 사용해 큰 효과를 발휘하기 위해 어떻게 사용하는지를 보여준다.
13장, '동시성'에서는 서버 측 플랫폼에서 멀티코어를 지원하는 프로그램이 점점 더 중요해지고 있음을 설명한다. 13장에서는 스레드와 동시성 프리미티브(concurrency primitives) 그리고 퓨처(future)를 비롯해 현대 개발에서 필수적인 동시성 프로그래밍 기술을 소개하는 데 중점을 둔다.

목차

1장. 코틀린 시작하기

-커맨드라인에서 코틀린 코드를 컴파일하고 실행하기
-코틀린 런타임
-REPL
-스크립트를 위한 코틀린
-그레이들에 코틀린 적용하기
-메이븐에 코틀린 적용하기
-인텔리제이와 코틀린
-이클립스와 코틀린
-프로젝트에서 코틀린과 자바 혼용하기
-요약

2장. 코틀린 기본기

-val과 var
-타입 추론
-기본 타입
-숫자
-불린
-문자
-문자열
-배열
-주석
-패키지
-임포트
-와일드카드 임포트
-임포트명 변경
-문자열 템플릿
범위
-루프
-예외 처리
-클래스 인스턴스화하기
-참조 동등성과 구조 동등성
-this 표현식
-스코프
-가시성 제어자
-private
-protected
-internal
-표현식으로서의 흐름 제어
-널 문법
-똑똑한 형변환
-명시적 형변환
-when 표현식
-when(값)
-인자가 없는 when
-함수 반환
-타입 체계
-요약

3장. 코틀린과 객체 지향 프로그래밍

-클래스
-접근 레벨
-중첩 클래스
-데이터 클래스
-열거형 클래스
-정적 메소드와 컴패니언 오브젝트
-인터페이스
-상속
-가시성 제어자
-추상 클래스
-인터페이스 또는 추상 클래스
-다형성
-오버라이딩 규칙
-상속 대 합성
-클래스 델리게이션
-봉인 클래스
-요약

4장. 코틀린과 함수

-함수 정의하기
-단일 표현식 함수
-멤버 함수
-지역 함수
-최상위 함수
-이름이 있는 매개변수
-기본 값을 갖는 매개변수
-확장 함수
-확장 함수의 우선순위
-널 값에서의 확장 함수
-멤버 확장 함수
-멤버 확장 함수 오버라이딩하기
-컴패니언 오브젝트 확장
-다중 반환 값
-중위 함수
-연산자
-연산자 오버로딩
-기본 연산자
-in/contains
-get/set
-invoke
-비교
-할당
-자바 상호 운용
-함수 리터럴
-꼬리 재귀 함수
-가변 인자
-전개 연산자
-표준 라이브러리 함수
-apply
-let
-with
-run
-lazy
-use
-repeat
-require / assert / check
-제네릭 함수
-순수 함수
-코틀린에서 자바 사용하기
-게터와 세터
-단일 추상 메소드
-코틀린 식별자 탈출하기
-자바 void 메소드
-자바에서 코틀린 사용하기
-최상위 함수
-기본 매개변수
-오브젝트와 정적 메소드
-이름 삭제하기
-확인된 예외
-요약

5장. 고차 함수와 함수형 프로그래밍

-고차 함수
-함수 반환
-함수 할당
-클로저
-익명 함수
-함수 참조
-최상위 함수 참조
-멤버 함수 참조와 확장 함수 참조
-바운드 참조
-함수 리터럴 수신자
-JVM에서의 함수
-바이트 코드
-함수 합성
-inline 함수
-noinline 함수
-커링과 부분 적용
-실전 커링
-커링 지원 추가하기
-메모이제이션
-메모이제이션 구현하기
-타입 앨리어스
-Either
-fold
-프로젝션
-프로젝션 함수 더 나아가기
-커스텀 DSL
-키워드로서의 중위 함수
-DSL 에서 함수 수신자 사용하기
-유효성 축적과 에러 축적
-요약

6장. 프로퍼티

-왜 프로퍼티를 사용하는가?
-문법과 변형
-가시성
-늦은 초기화
-델리게이트 프로퍼티
-지연 초기화
-lateinit 대 lazy
-옵저버블
-널 값을 갖지 않는 프로퍼티 델리게이트
-프로퍼티 혹은 메소드?
-요약

7장. 널 안정성, 리플렉션, 애노테이션

-널을 허용하는 타입
-똑똑한 형변환
-안전한 널 접근
-강제 연산자
-엘비스 연산자
-안전한 형변환
-옵셔널
-옵셔널을 생성하고 반환하기
-옵셔널 사용하기
-리플렉션
-KClass
-리플렉션을 사용한 인스턴스화
-생성자
-callBy로 인스턴스화하기
-객체와 컴패니언
-유용한 KClass 프로퍼티
-리플렉션한 함수와 프로퍼티
-리플렉션으로 함수 호출하기
-선언과 비선언
-애노테이션
-애노테이션 매개변수
-표준 애노테이션
-@JvmName
-@JvmStatic
-@Throws
-@JvmOverloads
-런타임에서 애노테이션 발견하기
-요약

8장. 제네릭

-매개변수화된 함수
-매개변수화된 타입
-범위를 갖는 다형성
-상한
-다중 범위
-타입 변형
-불변성
-공변성
-공변성 반환하기
-반공변성
-변형 개요
-Nothing 타입
-타입 프로젝션
-타입 소거
-타입 구체화
-재귀 타입 경계
-대수적 데이터 타입
-요약

9장. 데이터 클래스

-게터와 세터 자동 생성
-copy 메소드
-toString 바로 사용하기
-사용자를 위해 생성된 hashCode와 equals 메소드
-비구조화 선언
-비구조화 타입
-데이터 클래스 정의 규칙
-한계
-요약

10장. 컬렉션

-클래스 계층 구조
-배열
-리스트
-맵
-셋
-읽기 전용 뷰
-인덱스 접근
-시퀀스
-요약

11장. 코틀린과 테스트

-시작하기
-스펙 선택하기
-매처
-문자열 매처
-컬렉션 매처
-부동소수점 매처
-예외 기대하기
-매처 결합하기
-커스텀 매처
-인스펙터
-인터셉터
-테스트 케이스 인터셉터
-스펙 인터셉터
-프로젝트 환경 설정
-프로퍼티 테스트
-제너레이터 명시하기
-커스텀 제너레이터
-테이블 주도 테스트
-비결정적 코드 테스트하기
-태그와 조건 그리고 설정
-설정
-조건
-태그
-단일 인스턴스
-자원
-요약

12장. 코틀린과 마이크로서비스

-정의
-단점
-왜 마이크로서비스인가?
-라곰
-서비스 정의하기
-라곰 서비스 구현하기
-요약

13장. 동시성

-스레드
-블로킹
-스레드 생성하기
-스레드 정지하기
-스레드 인터럽트
-CPU 바운드 대 I/O 바운드
-데드락과 라이브락
-식사하는 철학자 문제
-익스큐터
-경쟁 조건
-모니터
-락
-읽기-쓰기 락
-세마포어
-한정 버퍼 문제
-동시성 컬렉션
-ConcurrentHashMap
-블로킹 큐
-원자 변수
-카운트다운 래치
-사이클릭 배리어
-논블로킹 I/O와 비동기 프로그래밍
-퓨처
-요약

본문중에서

코틀린(Kotlin)은 대개 안드로이드 개발과 관련이 있으며, 코틀린에 대한 대부분의 논의도 안드로이드를 중심으로 이뤄지고 있다. 그러나 코틀린 언어는 더 많은 것을 제공하며 현대 서버 분야 개발자에게도 안성맞춤이다. 이 책은 자바와 스칼라 개발자를 우선으로 하지만 안드로이드 개발자 역시 책에서 유용한 정보를 얻을 수 있을 것이다. 책은 코틀린을 소개하는 것으로 시작하고, 기본 개념으로 가기 전에 환경 설정 방법을 설명한다. 기본기를 마친 다음에는 좀 더 고급 개념으로 눈을 돌릴 것이며 몇 가지 바이트 코드 리스트가 나오더라도 놀라지 말기를 바란다. 책을 마치고 나면, 코틀린을 사용해 다음 프로젝트를 시작하는 데 필요한 모든 정보를 습득할 수 있을 것이다.
('지은이의 말' 중에서)

코틀린은 JVM 진영의 새로운 언어로 많은 관심을 받아왔다. 2017년에는 구글에서 안드로이드 개발 언어로 공식 인정하면서 그 관심과 위상은 어느 때보다 높아진 상태다. 특히 코틀린은 안드로이드 개발에서 기존에 자바 버전 문제로 사용할 수 없었던 기능을 사용할 수 있게 해주며, 여러 보일러플레이트 코드를 없애주기 때문에 많은 안드로이드 개발자의 사랑을 받고 있다. 아쉽게도 이 책에서 안드로이드를 개발하는 내용을 설명하지는 않지만, 그 대신 코틀린을 좀 더 자세히 공부할 수 있도록 많은 내용을 담고 있다.
원서가 출간된 시점에 코틀린 최신 버전은 1.1-M04였다. 번역서가 출간되는 시점에서는 어느덧 1.1이 정식 출시돼 1.1.51까지 나왔다. 이 책은 1.1-M04를 기반으로 집필됐지만 1.1.51을 사용해도 큰 무리는 없으며, 책에서 코틀린을 설치하는 내용은 모두 1.1 기반 버전으로 설치할 수 있도록 수정했다. 다만 바이트 코드를 설명하는 내용에서는 1.1-M04로 돼 있기 때문에 1.1 최신 버전을 설치해 예제를 실행하면 바이트 코드 일부가 다를 수도 있지만 내용이 바뀔 정도는 아니니 안심해도 좋다.
새로운 언어를 공부하는 데 있어 가장 좋은 방법은 직접 사용해보면서 재미를 느끼는 것이라고 생각한다. 그런 면에서 코틀린은 정말 안성맞춤인 언어다. 특히 자바나 스칼라를 사용해본 개발자라면 코틀린을 정말 재미있고 빠르게 습득할 수 있을 것이다.
('옮긴이의 말' 중에서)

저자소개

스티븐 사무엘(Stephen Samuel) [저] 신작알림 SMS신청 작가DB보기
생년월일 -
출생지 -
출간도서 1종
판매수 5권

7년이 넘는 경력을 지닌 뛰어난 개발자로, 내내 자바를 사용해 개발해왔으며 지난 5년 동안은 스칼라에 집중해왔다. 그는 동시성과 빅데이터 기술을 매우 좋아한다. 지난 몇 년간은 투자 은행 업무를 진행했으며, 현재는 코틀린을 사용해 대규모 빅데이터 투자 프로젝트를 진행 중이다. 또한 여러 주목 받는 스칼라와 자바 라이브러리의 개발자이기도 하며, 오픈소스 커뮤니티에서도 활발하게 활동하고 있다.

스테판 보큐리우(Stefan Bocutiu) [저] 신작알림 SMS신청 작가DB보기
생년월일 -
출생지 -
출간도서 1종
판매수 5권

빅데이터 컨설턴트로 13년 이상 소프트웨어 개발 경험을 쌓아왔다. 스칼라와 C#으로 코딩하는 것을 즐기며, 스트림 처리 기술을 매우 좋아한다. 스트리밍 또는 패스트 데이터 플랫폼에 대한 솔루션을 제공하는 자문 회사인 데이터마운티니어(DataMountaineer) 팀과 함께, 반응형 의사결정과 분석, 하둡 통합을 제공하는 확장 가능하며 통합된 실시간 데이터 파이프라인을 제공하는 데 중점을 두고 있다.
모터스포츠에 열광하며, 스스로 만족할 만큼 충분한 경주 실력은 아니나 가능한 한 많은 MotoGP 대회에 참가하고자 노력하고 있다. 코딩하지 않는 날에는 암벽 등반을

펼쳐보기
생년월일 -
출생지 -
출간도서 0종
판매수 0권

안드로이드와 iOS 모바일 애플리케이션 개발을 하고 있으며 새로운 기술이 나올 때마다 프로젝트에 어떻게 적용할 수 있을까 고민한다. 프로그래밍 언어를 배우는 것을 좋아하고 다른 사람과 지식을 공유하고 이야기하는 것을 즐긴다.

이벤트 기획전

이 상품의 시리즈

acorn+PACKT 시리즈(총 332권 / 현재구매 가능도서 310권)

펼쳐보기

리뷰

0.0 (총 0건)

기대평

작성시 유의사항

평점
0/200자
등록하기

기대평

0.0

교환/환불

교환/환불 방법

‘마이페이지 > 취소/반품/교환/환불’ 에서 신청함, 1:1 문의 게시판 또는 고객센터(1577-2555) 이용 가능

교환/환불 가능 기간

고객변심은 출고완료 다음날부터 14일 까지만 교환/환불이 가능함

교환/환불 비용

고객변심 또는 구매착오의 경우에만 2,500원 택배비를 고객님이 부담함

교환/환불 불가사유

반품접수 없이 반송하거나, 우편으로 보낼 경우 상품 확인이 어려워 환불이 불가할 수 있음
배송된 상품의 분실, 상품포장이 훼손된 경우, 비닐랩핑된 상품의 비닐 개봉시 교환/반품이 불가능함

소비자 피해보상

소비자 피해보상의 분쟁처리 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 따라 비해 보상 받을 수 있음
교환/반품/보증조건 및 품질보증 기준은 소비자기본법에 따른 소비자 분쟁 해결 기준에 따라 피해를 보상 받을 수 있음

기타

도매상 및 제작사 사정에 따라 품절/절판 등의 사유로 주문이 취소될 수 있음(이 경우 인터파크도서에서 고객님께 별도로 연락하여 고지함)

배송안내

  • 인터파크 도서 상품은 택배로 배송되며, 출고완료 1~2일내 상품을 받아 보실 수 있습니다

  • 출고가능 시간이 서로 다른 상품을 함께 주문할 경우 출고가능 시간이 가장 긴 상품을 기준으로 배송됩니다.

  • 군부대, 교도소 등 특정기관은 우체국 택배만 배송가능하여, 인터파크 외 타업체 배송상품인 경우 발송되지 않을 수 있습니다.

  • 배송비

도서(중고도서 포함) 구매

2,000원 (1만원이상 구매 시 무료배송)

음반/DVD/잡지/만화 구매

2,000원 (2만원이상 구매 시 무료배송)

도서와 음반/DVD/잡지/만화/
중고직배송상품을 함께 구매

2,000원 (1만원이상 구매 시 무료배송)

업체직접배송상품 구매

업체별 상이한 배송비 적용