다재다능 코틀린 프로그래밍 - 다양한 프로그래밍 패러다임으로 살펴보는 코틀린 기본서
벤컷 수브라마니암 지음, 우민식 옮김 / 영진.com(영진닷컴) / 2021년 2월
평점 :
장바구니담기



코틀린은 간단한 스크립트 프로그램부터 안드로이드 앱웹 앱을 비롯해 다양한 플랫폼으로 컴파일 되는 다재다능한 언어다. C++, C#, Java, Python 같은 언어들의 장점만을 뽑아 만들어졌다.

 

이에 간결함과 안정성상호 운용능력 등 장점을 지닌 코틀린은 2019년 구글에서 안드로이드의 우선 지원 언어로 지정될 정도로 프로그래머의 많은 관심을 받고 있다.

 


이 책은 코틀린으로 어떻게 프로그래밍을 하는지에 관한 거의 모든 지식들을 정리한다간단한 스크립트 작업을 통해 코틀린의 문법을 익히는 것부터 객체지향·비동기·함수형 프로그래밍 등 다양한 프로그래밍을 직접 짜는 방법까지 설명한다또한 다른 프로그래밍 언어에서 코틀린 문법을 혼용하는 방법 또한 소개한다.

 

저자는 휴스턴 대학 교수이자 기업 '애자일 디벨로퍼'의 설립자인 벤컷 수브라마니암(Venkat Subramaniam)이다그는 인도 출신으로 수많은 소프트웨어 개발자들을 훈련하고 멘토링해 왔다특히 소프트웨어 프로젝트에 애자일 방법론을 성공적으로 적용하는 방법을 코칭했다. ()저서로는 <자바람다의 힘> (루비페이퍼, 2014), <애자일 프랙티스> (인사이트, 2007)가 있다.


저자 벤컷 수브라마니암

 

책은 6개의 파트와 20개의 챕터로 구성돼 있다.

 

파트1(1~6 챕터)은 코틀린을 사용한 스크립팅을 소개하고파트2(7~9 챕터)는 객체지향 프로그래밍에 관해 설명한다파트3(10~11 챕터)은 함수형 언어의 기능을 알아보고파트4(12~14 챕터)는 지금까지 배운 것들을 종합하여 더 좋은 코드는 무엇인지 살펴본다.

 

파트5(15~16 챕터)는 코루틴과 비동기 프로그래밍에 대해서 알아보고마지막 파트6(17~20 챕터)에서 자바 인터롭테스팅스프링 사용안드로이드 앱 개발 등 코틀린을 응용하는 기법에 대해 살펴본다.

 


각 챕터는 코틀린에서 지원하는 프로그래밍 개념을 먼저 알아보고간단한 예제 코드를 사용해 봄으로써 내용을 구체적으로 응용할 수 있도록 했다.

 

20개 챕터의 주요 내용은 다음과 같다.

 

1코틀린 시작하기

2. Java의 개발자를 위한 코틀린 필수 사항

3함수를 사용하자 코트린에서 제공하는 수많은 함수 기능을 알아본다.

4외부 반복과 아규먼트 매칭 코틀린의 반복자가 어떻게 반복 작업을 쉽게 만들어주고아규먼트 매칭 문법이 조건문에서 발생되는 많은 노이즈들을 제거해주는지 알아본다.

5콜렉션 사용하기 뷰 인터페이스를 통해 JDK의 콜렉션을 코틀린에서 사용하는 방법을 보여준다.



6오류를 예방하는 타입 안정성 코틀린의 기본 타입널 가능(nullable)과 널 불가능(non-nullable) 참조스마트 캐스팅제네릭 가변성 등에 대해 배워본다.

7객체와 클래스 싱글톤클래스동반 객체(companion object)에 대해 배운다.

8클래스 계층과 상속 코틀린의 상속을 다루는 방법은 Java에서와 많이 다르다코틀린에서 적용되는 몇 가지 룰을 알아본다.

9델리게이션을 통한 확장 코틀린에서 제공하는 델리게이션과 사용법을 알아본다.

10람다를 사용한 함수형 프로그래밍 람다 표현식을 만드는 방법과 고차함수를 작성하는 방법을 배운다.



11내부 반복과 지연 연산 함수형 스타일에 반복을 적용하는 방법과 객체의 콜렉션을 처리하는 알아본다.

12코틀린에서 구현하는 유창성 코틀린을 사용하여 코드를 간결하고우아하고풍부하게 만드는 방법과 다양한 기능들을 살펴본다.

13내부 DSL 만들기 나만의 특별한 언어를 위한 문법을 정의하는 동시에 컴파일시점에서 타입 안정성을 구현하는 방법을 배운다.

14재귀 프로그래밍과 메모이제이션 프로그래밍 코틀린에서 제공하는 꼬리호출 최적화가 어떻게 작동하는지 알아본다.

15코루틴 탐험하기 컨티뉴에이션과 함께 비동기 프로그래밍의 기본을 설명한다.



16비동기 프로그래밍 비동기 프로그램의 예제 프로그램을 만들어 코루틴을 적용해본다.

17. Java와 코틀린 혼용 코틀린과 Java를 상호적으로 사용하는 방법을 배운다.

18코틀린 유닛 테스트 유닛 테스트 만드는 방법과 코드 커버리지 측정법에 대해서 배운다.

19코틀린으로 스프링 사용하기 코틀린 프로그래머를 위한 스프링 라이브러리를 알아보고 그 특별한 기능들도 알아본다.

20코틀린으로 안드로이드 어플리케이션 만들기

 


이 책은 코틀린을 처음 배우는 입문자에서부터 자바 등 다른 언어에 능통한 전문프로그래머 까지 폭넓게 아우른다우리는 다양한 프로그래밍 언어에 능통한 저자의 세련된 필력 덕분에 코틀린을 쉽게 배울 수 있다.

 

특히 책을 우리말로 옮긴 우민식 번역 작가의 능준한 솜씨도 빼놓을 수 없다그는 키움에셋 플래너에서 커리어를 시작하여 쿠팡과 이베이 코리아를 거치며 이커머스와 물류 시스템에 관련된 프로그램을 주로 개발했다현재 프리랜서 디지털 노마드로 활동하며 다양하고 유용한 IT 정보를 탐색하며 긷고 있다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo