본문으로 바로가기
평면표지(2D 앞표지)
입체표지(3D 표지)
2D 뒤표지

코틀린 아카데미: 핵심편


  • ISBN-13
    978-89-6626-443-8 (93000)
  • 출판사 / 임프린트
    인사이트 / 인사이트
  • 정가
    27,000 원 확정정가
  • 발행일
    2024-07-10
  • 출간상태
    출간
  • 저자
    마르친 모스카와
  • 번역
    신성열
  • 메인주제어
    컴퓨터프로그래밍 / 소프트웨어공학
  • 추가주제어
    -
  • 키워드
    #컴퓨터프로그래밍 / 소프트웨어공학 #안드로이드 #코틀린 #백엔드
  • 도서유형
    종이책, 무선제본
  • 대상연령
    모든 연령, 성인 일반 단행본
  • 도서상세정보
    172 * 225 mm, 340 Page

책소개

《이펙티브 코틀린》, 《코틀린 코루틴》의 저자 마르친 모스카와의 새로운 코틀린 안내서!

코틀린의 핵심 기능을 모두 다루고 있어 코틀린을 체계적으로 정리해 볼 수 있다!

코틀린을 제대로 배우기 위한 첫걸음!

 

코틀린은 최근 몇 년간 가장 주목받고 있는 프로그래밍 언어 중 하나입니다. 이해하기 쉬운 문법, 직관적인 코드, 널(%00;) 안전성을 보장하는 타입 시스템, 그리고 다양한 지원 도구로 무장한 코틀린은 개발자들에게 강력한 힘을 선사합니다. 안드로이드 개발의 대표 언어로 자리 잡았고, 이제 백엔드에서도 자바를 대체하며 인기를 얻고 있습니다. 그뿐만 아니라 데이터 과학, 멀티플랫폼, iOS, 데스크톱 및 웹 애플리케이션 개발에 이르기까지 활용 범위는 나날이 확대되고 있습니다. 코틀린을 통해 펼칠 수 있는 가능성은 무궁무진하며, 매년 더 많은 기회가 열리고 있습니다.

 

《코틀린 아카데미: 핵심편》은 이러한 코틀린의 세계로 들어가는 첫 관문입니다. 이 책은 코틀린의 핵심 기능들을 체계적으로 다루며, 명확하고 실행 가능한 코드 예제를 통해 쉽게 설명합니다. 자바, 자바스크립트, 파이썬, C++와 같은 객체 지향 언어를 경험해 본 개발자라면 쉽게 이해할 수 있을 것입니다.

 

지금 이 책을 통해 코틀린 세계로의 여정을 시작해 보세요. 이 책과 함께라면, 여러분도 코틀린을 이용하여 혁신적이고 강력한 애플리케이션을 개발할 수 있을 것입니다.

 

이 책에서 다루는 내용

• 변수, 값, 타입                         

• 조건문과 반복문

• 널 가능성 지원

• 클래스, 인터페이스, 상속

• 객체 표현식과 선언

• 데이터 클래스, 봉인된 클래스, 열거형 클래스, 애너테이션 클래스

• 예외

• 확장 함수

• 컬렉션

• 연산자 오버로딩

• 타입 시스템

• 제네릭

 

소스코드 다운로드

본문에 소개된 모든 소스코드는 다음 깃허브 저장소에서 볼 수 있습니다.

https://github.com/MarcinMoskala/kotlin_essentials_sources

목차

1장 코틀린은 어떤 언어인가?

코틀린 플랫폼

코틀린 IDE

활용 분야

 

2장 코틀린으로 만드는 첫 번째 프로그램

라이브 템플릿

JVM에서 일어나는 과정

패키지와 임포트

요약

연습문제: 첫 번째 프로그램

 

3장 변수

 

4장 기본 타입, 기본 타입의 리터럴과 연산

문자

문자열

요약

연습문제: 기본값 연산

 

5장 조건문: if, when, try, while

if 문

when 문

조건으로 값을 받는 when 문

is 확인

명시적 캐스팅

스마트 캐스팅

while과 do-while 문

요약

연습문제: when 사용하기

연습문제: 시간을 깔끔하게 출력하기

 

6장 함수

단일 표현식 함수

함수의 레벨

매개변수와 인수

Unit 반환 타입

vararg 매개변수

명명된 매개변수 구문과 디폴트 인수

함수 오버로딩

중위 표기법

함수 형식

요약

연습문제: 개인 정보 출력

 

7장 for 문의 강력함

범위

브레이크(break)와 컨티뉴(continue)

사용 예

요약

연습문제: 범위 연산

 

8장 널 가능성

안전 호출

널 아님 어설션

스마트 캐스팅

엘비스 연산자

널 가능한 타입의 확장 함수

코틀린에서 %00;은 우리의 친구입니다

지연 초기화(lateinit)

요약

연습문제: 사용자 정보 처리기

 

9장 클래스

멤버 함수

프로퍼티

생성자

코틀린과 자바에서 데이터를 표현하는 클래스

내부 클래스

요약

연습문제: Product 클래스 구현

 

10장 상속

구성 요소 오버라이딩

비어 있지 않은 생성자가 있는 부모

super 호출

추상 클래스

인터페이스

가시성

Any

요약

연습문제: GUI 뷰 계층구조 시뮬레이션

 

11장 데이터 클래스

문자열로 변환

객체 동등성

해시 코드

객체 복사

구조 분해

구조 분해를 사용하는 경우와 방법

데이터 클래스의 제약

튜플 대신 데이터 클래스를 사용하세요

요약

연습문제: 데이터 클래스

 

12장 객체

객체 표현식

객체 선언

컴패니언 객체

데이터 객체 선언

상수

요약

연습문제: 피자 공장

 

13장 예외

예외 던지기

예외 정의

예외 잡기

표현식으로 사용되는 try-catch 블록

finally 블록

중요한 예외

예외의 계층구조

요약

연습문제: 예외 잡기

 

14장 열거형 클래스

열거형 값의 데이터

커스텀 메서드를 가진 열거형 클래스

요약

연습문제: 요일 열거형

 

15장 봉인된 클래스와 인터페이스

봉인된 클래스와 when 표현식

봉인된 타입 대 열거형

사용 예

요약

 

16장 애너테이션 클래스

메타-애너테이션

주 생성자에 애너테이션 추가하기

리스트 리터럴

요약

 

17장 확장

확장 함수 살펴보기

확장 프로퍼티

확장 대 멤버

객체 선언에서의 확장 함수

멤버 확장 함수

사용 예

요약

연습문제: 변환 및 측정 단위 생성

 

18장 컬렉션

인터페이스 계층구조

가변 타입 대 읽기 전용 타입

컬렉션 생성

리스트

세트

실무에서의 배열 사용 예

요약

연습문제: 목록 관리

 

19장 연산자 오버로딩

연산자 오버로딩의 예

산술 연산자

in 연산자

iterator 연산자

등호와 부등호 연산자

비교 연산자

인덱스가 있는 접근 연산자

증강 할당문

단항 전위 연산자

증가 및 감소

invoke 연산자

연산자 우선순위

요약

연습문제: 화폐 연산

 

20장 코틀린 타입 시스템의 묘미

타입이란 무엇인가?

타입이 왜 필요한가?

클래스와 타입의 관계

실제 코드에서 클래스와 타입의 비교

타입 간의 관계

Nothing: 모든 타입의 서브타입

return과 throw의 결과 타입

도달할 수 없는 코드가 있는 경우

%00;의 타입

요약

연습문제: 타입들의 가장 가까운 서브타입

 

21장 제네릭

제네릭 함수

제네릭 클래스

제네릭 클래스와 널 가능성

제네릭 인터페이스

타입 매개변수와 상속

타입 소거

제네릭 제약 조건

스타 프로젝션

타입 인수에서 사용하는 언더스코어 연산자

요약

연습문제: 스택

 

마치며

연습문제 해답

찾아보기

본문인용

이해하기 쉬운 문법, 직관적인 코드, 널(%00;) 안전성을 보장하는 타입 시스템, 그리고 다양한 지원 도구로 무장한 코틀린은 개발자들에게 강력한 힘을 선사합니다. 안드로이드 개발의 대표 언어로 자리 잡았고, 이제 백엔드에서도 자바를 대체하며 인기를 얻고 있습니다. 그뿐만 아니라 데이터 과학, 멀티플랫폼, iOS, 데스크톱 및 웹 애플리케이션 개발에 이르기까지 활용 범위는 나날이 확대되고 있습니다. 이 책은 코틀린으로 개발을 시작하려는 여러분들을 위해 코틀린의 가장 기본적인 기능들을 다루고 있습니다.

--- ‘지은이의 글’ 중에서

 

자바를 대체하는 언어로 코틀린이 주목받기 시작한 지 얼마 되지 않았지만, 코틀린의 영향력은 점점 더 커지고 있습니다. 안드로이드의 공식 언어는 코틀린이 되었으며, 저 같은 백엔드 개발자들 또한 코틀린으로 서버를 개발하고 있습니다. 개발자로 첫 발걸음을 내딛는 사람들조차 처음 배우는 프로그래밍 언어로 코틀린을 선택하는 경우도 늘어나고 있습니다. 코틀린을 주 언어로 선택하는 프로젝트도 점점 더 늘어나고 있으며, 기존에 자바로 된 프로젝트 또한 코틀린으로 포팅하는 경우도 많이 보게 됩니다. 코틀린을 당장 사용하지 않더라도 코틀린을 공부해야 할 이유는 수없이 많습니다.

--- ‘옮긴이의 글’ 중에서

 

코틀린은 자바, 자바스크립트, C++, 오브젝티브 C를 대체할 수도 있습니다. 하지만 JVM 환경에서 가장 성숙되어, 아직까지는 자바를 대체하는 용도로 주로 쓰입니다.

코틀린은 백엔드 개발에서도 널리 사용됩니다. 스프링 프레임워크와 함께 주로 사용되며, 버텍스(Vert.x), 케이터(Ktor), 마이크로넛(Micronaut), http4k, 자바린(Javalin) 같은 프레임워크와 함께 사용하는 경우도 많습니다.

코틀린은 안드로이드 개발에서 사실상 표준 언어가 되었습니다. 구글은 공식적으로 모든 안드로이드 애플리케이션을 코틀린으로 작성하라고 권장하며, 모든 API에서 코틀린을 최우선으로 지원하기로 했습니다.

코틀린이 다양한 플랫폼용으로 컴파일될 수 있다는 이점을 점점 더 많은 프로젝트가 활용하고 있습니다. 안드로이드와 iOS 또는 백엔드와 프런트엔드 등 서로 다른 플랫폼에서 실행할 수 있는 코드를 작성할 수 있기 때문입니다. 코틀린의 플랫폼 호환성을 활용하면 라이브러리 제작자는 단 하나의 라이브러리로 수많은 플랫폼을 지원할 수 있습니다. 이미 많은 회사가 코틀린의 멀티플랫폼 지원을 활용하고 있으며, 그 수가 빠르게 늘어나고 있습니다.

코틀린으로 네이티브 UI를 만드는 도구인 젯팩 컴포즈(Jetpack Compose)를 봅시다. 원래 안드로이드용으로 개발되었지만, 코틀린의 멀티플랫폼 지원 특성을 활용해 웹사이트, 데스크톱 애플리케이션, iOS 애플리케이션 등등 더 많은 대상으로 확대되고 있습니다.

프런트엔드 개발 분야, 특히 리액트(React)에서도 코틀린이 사용되고 있으며, 코틀린을 사용하는 데이터 과학자 커뮤니티 또한 증가 추세입니다.

코틀린을 사용할 수 있는 분야는 이미 수없이 많으며, 해가 갈수록 점점 더 많은 가능성이 열리고 있습니다. 여러분도 이 책을 읽고 나면 새로 얻은 지식을 활용할 멋진 방법이 머릿속에 떠오를 것입니다.

--- ‘본문’ 중에서

서평

-

저자소개

저자 : 마르친 모스카와
경험 많은 개발자이자 코틀린 강사이다. 2015년부터 코틀린을 전문적으로 사용하였고, 2016년부터 코틀린에 관한 글을 썼으며, 2018년부터 코틀린을 가르치고 있다. 코틀린 분야의 GDE(Google Developer Expert)이며, 젯브레인(JetBrains)과 코틀린 교육에 대한 공식적인 파트너십을 체결하고 있는 코틀린 아카데미(Kt. Academy)의 창립자이다. 저술한 책으로는 《코틀린 코루틴》, 《이펙티브 코틀린》, 《코틀린 아카데미: 함수형 프로그래밍》, 《코틀린을 이용한 안드로이드 개발》이 있다.
번역 : 신성열
시스템 프로그래밍으로 개발을 시작했으며, 현재는 카카오에서 서버 개발자로 일하고 있다. C++부터 시작해 자바로, 그리고 현재는 코틀린까지 언어 영역을 넓히고 있으며, 현업에서는 코틀린의 다양한 기능을 배우고 적용하고 있다.
상단으로 이동