간편결제, 신용카드 청구할인
PAYCO(페이코) 최대 5,000원 할인
(페이코 신규 회원 및 90일 휴면 회원 한정)
네이버페이 1%
(네이버페이 결제 시 적립)
북피니언 롯데카드 30% (21,420원)
(최대할인 3만원 / 3만원 이상 결제)
EBS 롯데카드 20% (24,480원)
(최대할인 3만원 / 3만원 이상 결제)
인터파크 NEW 우리V카드 10% (27,540원)
(최대할인 3만원 / 3만원 이상 결제)
인터파크 현대카드 7% (28,460원)
(최대할인 3만원 / 3만원 이상 결제)
Close

깡샘의 코틀린 프로그래밍 : 코틀린 기초부터 안드로이드/자바스크립트/스프링에 응용까지

소득공제

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

판매지수 1,622
?
판매지수란?
사이트의 판매량에 기반하여 판매량 추이를 반영한 인터파크 도서에서의 독립적인 판매 지수입니다. 현재 가장 잘 팔리는 상품에 가중치를 두었기 때문에 실제 누적 판매량과는 다소 차이가 있을 수 있습니다. 판매량 외에도 다양한 가중치로 구성되어 최근의 이슈도서 확인시 유용할 수 있습니다. 해당 지수는 매일 갱신됩니다.
Close
공유하기
  • 저 : 강성윤
  • 출판사 : 루비페이퍼
  • 발행 : 2018년 03월 05일
  • 쪽수 : 706
  • 제품구성 : 전1권
  • ISBN : 9791186710272
정가

34,000원

  • 30,600 (10%할인)

    1,700P (5%적립)

할인혜택
적립혜택자동적립
추가혜택
배송정보
주문수량
감소 증가
  • 이벤트/기획전

  • 연관도서

  • 사은품(13)

책소개

코틀린의 주요 특징과 문법 학습
함수형 프로그래밍의 완벽한 이해
안드로이드, 자바스크립트, 스프링 프레임워크에 응용까지


만일 여러분이 자바 개발자라면, 또는 안드로이드, 또는 자바스크립트, 또는 스프링 개발자라면 이 책으로 코틀린을 가장 확실하게 배울 수 있습니다. 약간의 프로그래밍 경험만 있다면 코틀린으로 모바일 앱을 만들고 프런트엔드, 백엔드 웹 애플리케이션을 개발할 수 있도록 쉽고 친절하게 안내합니다. 이 책은 여러분이 코틀린이라는 새로운 프로그래밍 언어를 학습할 때 길을 잃지 않고 완주할 수 있도록 돕습니다. "깡샘! 질문 있어요!" 코너에서 코틀린을 학습할 때 한번쯤 궁금해할 만한 질문에 답하였으며, "자바 vs 코틀린" 코너에서는 코틀린이 기존 프로그래밍 언어와 어떻게 다른지를 소개합니다. 그리고 책의 후반부에서는 코틀린 프로그래밍으로 안드로이드 앱을 개발하거나 웹 애플리케이션을 개발하는 과정을 단계별로 따라 해봄으로써, 개발 현장에서 어떻게 적용할 수 있는지 경험할 수 있습니다.

출판사 서평

저는 이 책을 "완전체"라고 표현하고 싶습니다. 기본적인 이론에 그치지 않고 응용까지 담겨 있기 때문인데요. 기존에 자바로 개발하던 소스, 자바스크립트나 스프링 프레임워크로 개발하던 소스를 코틀린으로 어떻게 작성하는지 볼 수 있었던 게 아주 좋았습니다.

이 책을 보려는 사람은 대부분 자바 기술을 기반에 두고 개발하는 분들일 겁니다. 그래서인지 자바 개발자를 배려한 구성도 눈에 띄었습니다. 그렇지만 저는 C와 C++를 조금 다룰 수 있고 자바는 깊게 알지 못하는 상황에서 이 책으로 처음 코틀린 프로그래밍을 접했습니다. 그런데 책을 보는 데 큰 무리는 없었습니다. 제 생각으로는 기본적인 프로그래밍 경험은 있어야 이 책을 볼 수 있을 것 같습니다. 그리고 자바 프로그래밍 경험이 있다면 더 좋고, 스칼라나 스위프트처럼 최근에 나온 프로그래밍 언어의 경험이 있다면 더 쉽게 접근할 수 있지 않을까 싶습니다.

물론, 함수형 프로그래밍을 이해하고 활용하는 게 쉽지 않았지만, 책에서 여러 사례를 통해 반복해서 설명해주니 조금씩 선명해지는 느낌이 들었습니다. 아직 완벽하게 적용하기에는 어려움이 있겠지만 개괄적인 내용은 파악했으니 한 번 더 읽거나 다른 책을 참고해서 진행하던 프로젝트에 적용해보려고 합니다.

또 한 가지는 말투가 딱딱하지 않고 현장에서 강의를 듣는 듯한 느낌이어서 좋았습니다. 설명 방식이나 예제, 그림들을 보면 저자의 정성이 느껴진다고 할까? 아무튼 저는 이런 방식이 참 좋았는데요. 예를 들어 어떤 예약어나 개념을 설명할 때 그것이 나오게 된 배경을 설명해주는데, 먼저 독자가 알만한 간단한 예제로 에러가 발생하거나 불편한 코드를 보여주고 이를 코틀린 프로그래밍 기법들로 어떻게 개선하는지 보여줍니다. "이건 이거다"가 아니라 "이건 이래서 이거이므로 이렇게 쓴다"의 차이라고 할까? 이 기법이 왜 나왔는지 어떨 때 사용하는지 직접 체득하면서 배우니 확실히 받아들여지는 속도와 깊이가 다른 것 같습니다.

제가 처음 경험해본 코틀린은 JVM에서 돌아가는 건 자바와 같지만, 많은 부분에서 확실히 자바와는 다른 언어라는 생각이 들었습니다. 특히 코드의 안전성과 생산성 면에서 더 나은 선택일 수 있다고 생각했습니다. 만일 코틀린 프로그래밍을 체계적으로 정리하고 싶거나 현업에서 코틀린을 적용해보려는 계획이 있다면, 아니면 현대적 프로그래밍 기법들을 경험해보고 싶다면 이 책이 많은 도움이 될 것으로 확신합니다. 최소한 후회하지는 않을 것 같습니다.
- 우연히 먼저 보게 된 [몽테크리스토]님 서평 중

※ 실습 공유 파일 및 책 예제
- http://kkangsnote.tistory.com/
- https://github.com/kkangseongyun/kkangs_kotlin

※ 동영상 강의
https://goo.gl/y2Hqp1

목차

Part 01 코틀린 시작하기

01 _ 코틀린 이해하기

1.1. 코틀린이란?
1.1.1. 코틀린 소개
1.1.2. 코틀린 특징
1.2. 코틀린으로 작성 가능한 프로그램
1.2.1. 자바를 코틀린으로
1.2.2. 안드로이드를 코틀린으로
1.2.3. 자바스크립트를 코틀린으로
1.2.4. 서버 측 웹 애플리케이션을 코틀린으로
1.2.5. 스프링 부트를 이용하는 Restful 서비스를 코틀린으로

02 _ 코틀린 개발환경
2.1. 코틀린 개발환경 - IntelliJ
2.1.1. IntelliJ 설치
2.1.2. IntelliJ에서 코틀린 프로그램 작성
2.1.3. IntelliJ 이용 기법
2.1.4. IntelliJ에서 그레이들을 이용한 개발환경
2.1.5. IntelliJ에서 메이븐을 이용한 개발환경
2.2. 코틀린 개발환경 ? 안드로이드 스튜디오
2.2.1. 안드로이드 스튜디오 설치
2.2.2. 안드로이드 스튜디오에서 코틀린 프로그램 작성
2.2.3. AVD 설정 및 안드로이드 프로그램 실행
2.3. 코틀린 개발환경 - 이클립스
2.4. 코틀린 개발환경 ? CLI(Command Line Interface)

03 _ 코틀린 기본 작성법
3.1. 코틀린 파일 정의
3.1.1. 일반 파일과 클래스 파일
3.1.2. 파일의 구성요소
3.2. 패키지
3.2.1. 패키지 기본 개념 package
3.2.2. 가상 패키지
3.2.3. 변수/함수 임포트 import
3.2.4. 기본 패키지
3.2.5. 이름 변경해서 임포트하기 as

04 _ 변수와 함수
4.1. 변수 선언 및 초기화
4.1.1. 변수 선언법 val, var
4.1.2. 변수 초기화
4.1.3. null이 될 수 있는 변수와 null
4.1.4. 상수변수 선언 const
4.2. 함수 사용법
4.2.1. 함수 선언 fun
4.2.2. 함수 오버로딩
4.2.3. 기본 인수와 명명된 인수
4.2.4. 중위 표현식 infix
4.2.5. 가변 인수 vararg
4.2.6. 재귀함수 tailrec

Part 02 코틀린 기초 프로그래밍

05 _ 데이터 타입

5.1. 기초 데이터 타입
5.1.1. 숫자 타입 Int, Long, Short, Double, Float
5.1.2. 논리, 문자와 문자열 타입 Boolean, char, String
5.1.3. Any 타입
5.1.4. null 허용 타입
5.1.5. Any, Any? 타입
5.1.6. Unit과 Nothing
5.1.7. 타입 확인과 캐스팅 is
5.2. 컬렉션 타입
5.2.1. 배열 Array
5.2.2. List, Set, Map
5.2.3. 이터레이터 Iterator

06 _ 흐름 제어 구문과 연산자
6.1. 조건문
6.1.1. if 표현식
6.1.2. when 표현식
6.2. 반복문
6.2.1. for 반복문 in, indices
6.2.2. while 반복문
6.2.3. break와 continue 문, 그리고 라벨
6.3. 연산자
6.3.1. 대입 연산자 =
6.3.2. 산술 연산자 +, -, *, /, %
6.3.3. 전개 연산자 *
6.3.4. 복합 대입 연산자 +=, -=, *=, /=, %=
6.3.5. 증감 연산자 ++, --
6.3.6. 논리 연산자 &&, ||, !
6.3.7. 일치 연산자 ==, !=, ===, !==
6.3.8. 비교 연산자 [, ], [=, ]=
6.3.9. 범위 연산자 ..
6.3.10. Null 안전 관련 연산자 ?, ?:, ?., !!
6.4. 연산자 재정의
6.4.1. 연산자 재정의 방법 operator fun
6.4.2. 연산자 함수

07 _ 클래스
7.1. 클래스 선언 및 생성
7.1.1. 클래스 선언 class
7.1.2. 객체 생성
7.2. 생성자
7.2.1. 주 생성자 constructor
7.2.2. 보조 생성자 constructor
7.2.3. this( )에 의한 생성자 연결

08 _ 프로퍼티
8.1. 코틀린에서 프로퍼티 이용
8.1.1. 프로퍼티란?
8.1.2. 사용자 정의 프로퍼티
8.1.3. 주 생성자와 프로퍼티
8.2. 프로퍼티 초기화
8.2.1. 초기화 블록에서 초기화 init
8.2.2. null 허용으로 선언
8.2.3. 늦은 초기화 lateinit
8.2.4. 초기화 미루기 by lazy
8.3. 프로퍼티 값 변경 감지

Part 03 코틀린과 객체지향 프로그래밍

09 _ 상속

9.1. 코틀린에서의 상속
9.1.1. Any 클래스
9.1.2. 상속을 통한 클래스 정의 open
9.2. 오버라이드
9.2.1. 함수 오버라이드 override
9.2.2. override 예약어
9.2.3. 프로퍼티 오버라이드
9.2.4. 상위 클래스 멤버 접근 super
9.3. 상속과 생성자
9.3.1. 상위 클래스 생성자 호출
9.3.2. 상하위 생성자의 수행 흐름
9.4. 상속과 캐스팅
9.4.1. 스마트 캐스팅
9.4.2. as를 이용한 캐스팅
9.4.3. null 허용 객체의 캐스팅 as?
9.5. 접근 제한자
9.5.1. 접근 제한자란?
9.5.2. 접근 제한자와 접근 범위
9.5.3. 프로퍼티와 생성자의 접근 제한
9.5.4. 상속 관계와 접근 제한자

10 _ 추상 클래스와 인터페이스
10.1. 추상 클래스
10.1.1. 추상 클래스 선언 abstract
10.1.2. 추상 클래스 이용
10.2. 인터페이스
10.2.1. 인터페이스 선언 및 구현 interface
10.2.2. 인터페이스와 프로퍼티
10.2.3. 오버라이드 함수 식별

11 _ 다양한 코틀린 클래스
11.1. 데이터 클래스
11.1.1. 데이터 클래스란? data
11.1.2. 데이터 클래스의 함수
11.2. Enum 클래스
11.2.1. 열거형 클래스 선언 및 이용 enum
11.2.2. 익명 클래스 이용
11.3. Sealed 클래스
11.4. Nested 클래스 inner
11.5. Object 클래스
11.5.1. object를 이용한 익명 내부 클래스 정의
11.5.2. 타입 명시로 object 이용
11.5.3. object 선언
11.5.4. companion 예약어

Part 04 코틀린과 함수형 프로그래밍

12 _ 함수형 프로그래밍과 람다

12.1. 함수형 프로그래밍이란?
12.1.1. 함수형 프로그래밍 정의
12.1.2. 함수형 프로그래밍의 원칙
12.1.3. 코틀린에서 일급 객체로서의 함수
12.2. 람다 표현식
12.2.1. 람다 표현식이란?
12.2.2. 함수 타입
12.2.3. it을 이용한 매개변수 이용
12.2.4. 멤버 참조 이용

13 _ 고차 함수와 인라인 함수
13.1. 고차 함수
13.1.1. 고차 함수란?
13.1.2. 고차 함수와 함수 타입 매개변수
13.1.3. 고차 함수와 함수 반환
13.1.4. 함수 참조와 익명 함수 이용
13.1.5. 코틀린 API의 유용한 고차 함수run( ), apply( ), let( ), with( )
13.2. 인라인 함수 inline
13.2.1. 인라인 함수란?
13.2.2. 노인라인 noinline
13.2.3. 논로컬 반환
13.2.4. 라벨로 반환
13.3. 클로저

14 _ 컬렉션 타입과 람다
14.1. 집합 연산 함수
14.1.1. forEach( ), forEachIndexed( )
14.1.2. all( ), any( )
14.1.3. count( ), find( )
14.1.4. reduce( ), reduceRight( ), fold( ), foldRight( )
14.1.5. max( ), maxBy( ), min( ), minBy( )
14.1.6. none( ), sumBy( )
14.2. 필터링 함수
14.2.1. filter( )
14.2.2. filterNot( ), filterNotNull( )
14.2.3. drop( ), dropWhile( ), dropLastWhile( )
14.2.4. slice( ), take( ), takeLast( ), takeWhile( )
14.3. 매핑 함수
14.3.1. map( ), mapIndexed( )
14.3.2. groupBy( )
14.4. 요소 함수
14.4.1. contains( )
14.4.2. elementAt( ), elementAtOrElse( ), elementAtOrNull( )
14.4.3. first( ), firstOrNull( ), last( ), lastOrNull( )
14.4.4. indexOf( ), indexOfFirst( ), indexOfLast( )
14.5. 정렬 함수
14.5.1. reversed( )
14.5.2. sorted( ), sortedBy( ), sortedDescending( ), sortedDescendingBy( )

Part 05 코틀린의 다양한 기법 활용

15 _ Null 안전성과 예외 처리

15.1. Null 안전성
15.1.1. Null 안전성이란?
15.1.2. Null 허용과 Null 불허
15.1.3. Null 확인 연산자 ?.
15.1.4. 엘비스 연산자 ?:
15.1.5. 예외 발생 연산자 !!
15.1.6. 안전한 캐스팅 as?
15.2. 예외 처리
15.2.1. try-catch-finally 구문으로 예외 처리
15.2.2. 예외 발생시키기 throw

16 _ 클래스 확장
16.1. 확장의 원리
16.1.1. 확장이란?
16.1.2. 정적 등록에 의한 실행
16.2. 프로퍼티와 컴패니언 오브젝트 확장
16.2.1. 프로퍼티 확장
16.2.2. 컴패니언 오브젝트의 확장 companion
16.3. 확장 구문의 위치에 따른 이용
16.3.1. 최상위 레벨에 작성
16.3.2. 다른 클래스 내에 작성
16.3.3. 익스텐션 리시버와 디스패치 리시버의 함수명 중복

17 _ 제네릭
17.1. 제네릭의 이해
17.1.1. 제네릭이란?
17.1.2. 제네릭 선언 및 이용
17.2. 제네릭 제약
17.2.1. 타입 제약
17.2.2. Null 불허 제약
17.3. Variance
17.3.1. Variance란?
17.3.2. covariance out
17.3.3. contravariance in
17.4. 타입 프로젝션
17.4.1. 이용 측 Variance
17.4.2. 스타(*) 프로젝션
17.5. 실행 시점의 제네릭
17.5.1. 제네릭과 as, is 이용
17.5.2. 인라인 함수와 reified
17.6. Unit, Nothing 타입
17.6.1. Unit 타입
17.6.2. Nothing 타입

18 _ 리플렉션과 어노테이션
18.1. 리플렉션
18.1.1. 리플렉션 이해
18.1.2. 클래스 레퍼런스
18.1.3. 함수 레퍼런스와 프로퍼티 레퍼런스
18.2. 어노테이션
18.2.1. 어노테이션 작성 및 이용 annotation
18.2.2. 어노테이션 설정
18.2.3. 어노테이션 적용 대상 지정
18.2.4. 자바 어노테이션 이용

19 _ 코틀린의 다양한 기법
19.1. 델리게이션
19.1.1. 델리게이션 클래스
19.1.2. 델리게이션 프로퍼티
19.2. SAM 전환
19.2.1. 자바에서 인터페이스 활용
19.2.2. 코틀린에서 SAM 활용
19.3. 타입 에일리어스 typealias

Part 06 코틀린 실전 응용 - 안드로이드 앱 개발

20 _ 안드로이드 앱 개발의 이해

20.1. 개발 디렉터리와 파일 구조
20.1.1. 앱의 디렉터리와 파일
20.1.2. R.java의 이해
20.1.3. 그레이들(gradle) 파일
20.2. Hello World 앱 코드 분석
20.2.1. AndroidManifest.xml
20.2.2. MainActivity.kt
20.2.3. activity_main.xml

21 _ 안드로이드 UI 프로그래밍
21.1. 기본적인 UI 프로그래밍 방법
21.1.1. 액티비티-뷰 구조
21.1.2. UI 프로그램 작성 방법: 코틀린 코드 VS 레이아웃 XML
21.2. 뷰의 기초 속성
21.2.1. id 속성
21.2.2. layout_width, layout_height 속성
21.2.3. visibility 속성
21.3. 조금 더 코틀린답게 - Kotlin Android Extension

22 _ 레이아웃 및 사용자 이벤트 처리
22.1. Layout 클래스
22.1.1. LinearLayout
22.1.2. RelativeLayout
22.2. 사용자 이벤트 처리
22.2.1. 이벤트 프로그램 구조
22.3. 조금 더 코틀린답게 - SAM 전환

23 _ DBMS와 RecyclerView
23.1. SQLite을 이용한 영속화
23.1.1. SQLiteDatabase 클래스
23.1.2. SQLiteOpenHelper 클래스
23.1.3. insert( ), query( ), update( ), delete( ) 함수 이용
23.2. RecyclerView
23.2.1. RecyclerView 소개
23.2.2. Adapter, ViewHolder
23.2.3. LayoutManager
23.2.4. ItemDecoration

24 _ TODO 앱 개발
24.1. TODO 앱 소개
24.1.1. 앱의 기능
24.1.2. 사용 기술
24.2. TODO 앱 개발

Part 07 코틀린 실전 응용 - 웹 애플리케이션 개발

25 _ 자바스크립트 개발을 위한 코틀린

25.1. 자바스크립트 이해
25.1.1. 자바스크립트 개발 환경에 대한 이해
25.1.2. 자바스크립트 개발 언어
25.2. 자바스크립트를 위한 코틀린 개발환경
25.2.1. IntelliJ에서 Gradle을 이용한 자바스크립트 개발환경
25.2.2. Command Line을 이용한 자바스크립트 개발
25.3. 자바스크립트를 위한 코틀린 기법
25.3.1. dynamic 타입
25.3.2. js( ) 함수 이용
25.3.3. external로 자바스트립트 API 이용
25.4. 자바스크립트에서 코틀린 소스 이용하기
25.4.1. 모듈명으로 코틀린 소스 이용
25.4.2. @JsName 어노테이션 이용

26 _ 코틀린으로 자바스크립트 웹 애플리케이션 개발
26.1. 프런트엔드 웹 애플리케이션
26.1.1. DOM Node 핸들링
26.1.2. AJAX 프로그래밍
26.2. DSL을 위한 kotlinx-html-js 라이브러리 이용
26.2.1. kotlinx-html-js 라이브러리 소개
26.2.2. kotlinx-html-js를 이용한 DOM Node 동적 생성
26.3. NodeJS로 백엔드 웹 애플리케이션 개발
26.3.1. NodeJS와 Express 모듈의 이해
26.3.2. 코틀린으로 작성하는 NodeJS 프로그램

27 _ 코틀린으로 스프링 프레임워크 개발
27.1. 스프링 부트로 개발환경 구축하기
27.2. 코틀린으로 개발하는 스프링 프로그램
27.2.1. 스프링 IOC - 의존성 주입
27.2.2. 스프링 AOP - 관점지향 프로그래밍
27.2.3. 스프링 MVC
27.3. TODO 웹 애플리케이션 개발
27.3.1. 애플리케이션 소개
27.3.2. 사용 기술
27.3.3. TODO 웹 애플리케이션 개발

찾아보기

저자소개

생년월일 -
출생지 -
출간도서 2종
판매수 451권

IT 전문 강사인 저자는 멀티캠퍼스에서 소프트웨어 관련 강의를 하고 있으며, 2010년부터 안드로이드 앱 개발, 2018년부터 코틀린을 강의하고 있다. 또한, 모바일/ IOT 전문업체인 MotizenSoft에서 모바일 팀을 이끌고 있다.

이 책과 내용이 비슷한 책 ? 내용 유사도란? 이 도서가 가진 내용을 분석하여 기준 도서와 얼마나 많이 유사한 콘텐츠를 많이 가지고 있는가에 대한 비율입니다.

    리뷰

    10.0 (총 0건)

    기대평

    작성시 유의사항

    평점
    0/200자
    등록하기

    기대평

    10.0

    교환/환불

    교환/환불 방법

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

    교환/환불 가능 기간

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

    교환/환불 비용

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

    교환/환불 불가사유

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

    소비자 피해보상

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

    기타

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

    배송안내

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

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

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

    • 배송비

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

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

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

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

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

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

    업체직접배송상품 구매

    업체별 상이한 배송비 적용