깡샘의 코틀린 프로그래밍 : 북윈도
리뷰 0 위시 120

깡샘의 코틀린 프로그래밍 요약정보 및 구매

상품 선택옵션 0 개, 추가옵션 0 개

출판사 루비페이퍼
저자 강성윤
ISBN 9791186710272 (1186710276)
정가 34,000원
판매가 30,600원(10% 할인)
배송비 무료배송
포인트 정책 설명문 닫기

00포인트

포인트 정책 설명문 출력

선택된 옵션

관심상품

상품 정보

사은품
상품 상세설명


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

목차
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 웹 애플리케이션 개발

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

이 책을 보려는 사람은 대부분 자바 기술을 기반에 두고 개발하는 분들일 겁니다. 그래서인지 자바 개발자를 배려한 구성도 눈에 띄었습니다. 그렇지만 저는 C와 C++를 조금 다룰 수 있고 자바는 깊게 알지 못하는 상황에서 이 책으로 처음 코틀린 프로그래밍을 접했습니다. 그런데 책을 보는 데 큰 무리는 없었습니다. 제 생각으로는 기본적인 프로그래밍 경험은 있어야 이 책을 볼 수 있을 것 같습니다. 그리고 자바 프로그래밍 경험이 있다면 더 좋고, 스칼라나 스위프트처럼 최근에 나온 프로그래밍 언어의 경험이 있다면 더 쉽게 접근할 수 있지 않을까 싶습니다.물론, 함수형 프로그래밍을 이해하고 활용하는 게 쉽지 않았지만, 책에서 여러 사례를 통해 반복해서 설명해주니 조금씩 선명해지는 느낌이 들었습니다. 아직 완벽하게 적용하기에는 어려움이 있겠지만 개괄적인 내용은 파악했으니 한 번 더 읽거나 다른 책을 참고해서 진행하던 프로젝트에 적용해보려고 합니다.또 한 가지는 말투가 딱딱하지 않고 현장에서 강의를 듣는 듯한 느낌이어서 좋았습니다. 설명 방식이나 예제, 그림들을 보면 저자의 정성이 느껴진다고 할까? 아무튼 저는 이런 방식이 참 좋았는데요. 예를 들어 어떤 예약어나 개념을 설명할 때 그것이 나오게 된 배경을 설명해주는데, 먼저 독자가 알만한 간단한 예제로 에러가 발생하거나 불편한 코드를 보여주고 이를 코틀린 프로그래밍 기법들로 어떻게 개선하는지 보여줍니다. "이건 이거다"가 아니라 "이건 이래서 이거이므로 이렇게 쓴다"의 차이라고 할까? 이 기법이 왜 나왔는지 어떨 때 사용하는지 직접 체득하면서 배우니 확실히 받아들여지는 속도와 깊이가 다른 것 같습니다.제가 처음 경험해본 코틀린은 JVM에서 돌아가는 건 자바와 같지만, 많은 부분에서 확실히 자바와는 다른 언어라는 생각이 들었습니다. 특히 코드의 안전성과 생산성 면에서 더 나은 선택일 수 있다고 생각했습니다. 만일 코틀린 프로그래밍을 체계적으로 정리하고 싶거나 현업에서 코틀린을 적용해보려는 계획이 있다면, 아니면 현대적 프로그래밍 기법들을 경험해보고 싶다면 이 책이 많은 도움이 될 것으로 확신합니다. 최소한 후회하지는 않을 것 같습니다.- 우연히 먼저 보게 된 「몽테크리스토」님 서평 중※ 실습 공유 파일 및 책 예제
- http://kkangsnote.tistory.com/
- https://github.com/kkangseongyun/kkangs_kotlin ※ 동영상 강의
https://goo.gl/y2Hqp1
상품 정보 고시
도서명 깡샘의 코틀린 프로그래밍
저자 강성윤
출판사 루비페이퍼
ISBN 9791186710272 (1186710276)
쪽수 706
출간일 2018-03-05
사이즈 189 * 258 * 31 mm /1486g
목차 또는 책소개 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 웹 애플리케이션 개발

찾아보기
상품 정보 고시
도서명 상품페이지 참고
저자 상품페이지 참고
출판사 상품페이지 참고
크기 상품페이지 참고
쪽수 상품페이지 참고
제품구성 상품페이지 참고
출간일 상품페이지 참고
목차 또는 책소개 상품페이지 참고
배송공지

사용후기

회원리뷰 총 0개

사용후기가 없습니다.

상품문의

등록된 상품문의

상품문의 총 0개

상품문의가 없습니다.

교환/반품

[반품/교환방법]
마이페이지> 주문배송조회 > 반품/교환신청 또는 고객센터 (070-4680-5689)로 문의 바랍니다.

[반품주소]
- 도로명 : (10882) 경기도 파주시 산남로 62-20 (산남동)
- 지번 : (10882) 경기도 파주시 산남동 305-21

[반품/교환가능 기간]
변심반품의 경우 수령 후 14일 이내, 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내

[반품/교환비용]
단순 변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담

[반품/교환 불가 사유]
- 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
(단지 확인을 위한 포장 훼손은 제외)
- 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
예) 화장품, 식품, 가전제품(악세서리 포함) 등
- 복제가 가능한 상품 등의 포장을 훼손한 경우
예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
- 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우 ((1)해외주문도서)
- 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
- 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
- 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
* (1) 해외주문도서 : 이용자의 요청에 의한 개인주문상품으로 단순변심 및 착오로 인한 취소/교환/반품 시
‘해외주문 반품/취소 수수료’ 고객 부담 (해외주문 반품/취소 수수료 : ①양서-판매정가의 12%, ②일서-판매정가의 7%를 적용)

[상품 품절]
공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는 이메일과 문자로 안내드리겠습니다.

[소비자 피해보상, 환불지연에 따른 배상]
- 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됩니다.
- 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함.

회원로그인

오늘 본 상품

  • 깡샘의 코틀린 프로그래밍
    깡샘의 코틀린 프로
    30,600