Life/Book Record

[서평] 아토믹 코틀린

샤아이인 2023. 7. 26.

저의 돈으로 직접 사서 직접 완독해 본 후 써보는 후기입니다. 따라서 장점은 장점대로 칭찬할 것이며, 단점은 단점대로 언급할 것입니다.

 

아토믹 코틀린 : 네이버 도서

네이버 도서 상세정보를 제공합니다....

search.shopping.naver.com

 

Java를 거의 2년 가까이 사용해오다 보니 자연스럽게 JVM위에서 동작하는 다른 언어에 관심이 생기기 시작했다.

더 나아가 요즘 인기가 많아지고 있다 느낀 Kotlin에 대하여 관심이 있었기에 코틀린을 처음 배우고자 입문서로 선택하게 되었다.

 

<읽은 기간>

2023/06/28 ~ 2023/07/26

<리뷰 순서>

1) 책의 표지

2) 단원별 구성

3) 읽은 소감

우선 저의 글의 앞부분만 보는 분들을 위해 먼저 간단히 4가지에 대해 답해보겠습니다.

 

Q 이 책을 읽기 전에 필요한 수준/ 지식은?

=> 일단, 저자는 프로그래밍 초보도 읽기에 적합한 책으로써, 혼자 힘으로 알아낼 수 있을 만큼의 내용만 딱 제공한다 적어두었다.

하지만 내 생각에는 조금은 프로그래밍 경험이 있는 사람이 빠르게 Kotlin을 학습하기에 적합한 책이라 생각된다.

[서평] 아토믹 코틀린

저자는 신기하게 쳅터라는 키워드가 아닌, atom이라는 키워드를 사용하여 최소 단위의 기능을 중심으로 책을 서술하였다.

따라서 쳅터 간의 연계가 되기보다는, 한 atom을 배워나가는 책이며, 필요하다면 다른 atom을 먼저 읽어봐도 될만한 책이다.

 

Q 이 책의 번역 상태는? (4/5)

=> 번역 상태가 좋다 생각된다. 하지만 개별 atomic 하나마다 약간의 번역에서 어색함이 종종 보이고는 한다. 문제 될 정도는 아니지만, 돌이켜 생각해 보면 프로그래밍 초보라면 모르고 넘어갈 수도 있는 부분들이 있다.

예를 들어 다운캐스팅인데.... 업캐스팅으로 잘못 명시한 부분이라던가? 사소한 실수들이 이따금 보이곤 한다.

하지만 이 정도면 적합한 번역품질이라 생각되며, 나 같은 경우 1쇄 인지라, 3쇄쯤 가면 이런 부분도 없어질 것이라 생각된다.

 

<번역 기준>

5/5 : 책을 완독 하는 동안 거의 어색함을 못 느낀 번역

4/5 : 한 쳅터를 읽을 때마다 한, 두 번? 어색함을 느낀 번역

3/5 : 한 장을 읽을 때 마다 한, 두번? 어색함을 느낀 번역

2/5 : 한 문장을 읽을 때 마다 한, 두번? 어색함을 느낀 번역

1/5 : 그냥 발 번역

 

Q 이 책을 읽어야 할 필요성, 어디에 도움이 될까?

=> 우선 당연히 Kotlin을 입문하는데 매우 적합한 책이다. 그도 그럴 것이 저자가 그 유명한 브루스 애켈스베트라나 이사코바이다.

[서평] 아토믹 코틀린

특히 브루스 애켈의 Thinking in Java는 좀 예전 책 이기는 하지만 매우 유명한 Java 책이다.

심지어 스베트라나 이사코바 는 그 유명한 Kotlin in Action의 공동 저자이다.

[서평] 아토믹 코틀린

요약하면 레전드 두 분 이서 쓴 책이라 기대 200% 정도 된다 이 말이다.

 

Q 이 책을 읽은 후 추후 공부는?

=> 음 일단 나는 바로 Spring 하고 연계하여 프로젝트를 진행 중이다. 확실히 Lombok을 사용하지 않아서 좋고, 확장함수 같은 개념을 사용하여 JpaRepository를 확장하여 사용하면 매우 편하다는 생각이 들었다. 더 나아가 코드 자체가 매우 간결해진다는 느낌이 들었다.

 

이후에는 코루틴이나, 함수형 코틀린에 관한 책들을 읽어보고 싶다!

 

1. 책의 표지

 

[서평] 아토믹 코틀린 - 				
    
    	1. 책의 표지
    
[서평] 아토믹 코틀린 - 				
    
    	1. 책의 표지

길벗의 책을 오랜만에 읽어봤는데 표지가 아주 깔끔하다 생각된다! 군더더기 없이 마음에 드는 디자인이다!

 

2. 단원별 구성

우선 총 7부로 구성되어 있다

1부 : 프로그래밍 기초

2부 : 객체 소개

3부 : 사용성

4부 : 함수형 프로그래밍

5부 : 객체 지향 프로그래밍

6부 : 실패 방지하기

7부 : 파워 툴

 

이중 나는 6부까지만 읽었으며, 7부는 제네릭이나 연산자 오버로딩의 내용이라 아는 개념이라 생각되어 pass 하였다.

7부에서는 딱 하나, Lazy Init 부분만 살펴봤던 것 같다.

 

여러 장들이 다 재미있었지만, 그중 친숙한 5부, 객체 지향 프로그래밍 파트를 중점적으로 리뷰를 남겨볼까 한다.

 

3. 객체 지향 프로그래밍 하기

[서평] 아토믹 코틀린 - 3. 객체 지향 프로그래밍 하기

일단 첫 도입부부터 나에게 인상 깊었다. 나는 어느 순간부터 상속은 안티 패턴이라 생각하고 있던 사람이다.

대충 그 기점은 Effective Java라는 책을 만드신 저자분이 "상속은 애당초 없었어야 한다"라는 말을 했던 것을 본 이후부터였을 것이다.

나 또한 상속을 사용하면서 개발이 편했다라고 느낀 적이 별로 없어 이렇게 생각하고 있었지만...

 

위 표지를 보면 "요즘은 상속을 불신하는 게 유행인 것 같다"라는 나에게 치명타를 날려주셨다... 윽.... 역시 사람의 관점은 다를 수도 있으며, 주어진 상황마다 모두 다를 수 있다는 점 명심해야겠다!

 

책의 대부분은 다음과 같은 구성이다.

atom 하나마다 주어진 키워드가 있으며, 해당 키워드에 대한 필요한 정도의 지식과 예시를 제공한다.

코드의 경우 100%로 어떤 코드인지 설명하면서, 해당 부분에서 Kotlin의 어느 기능을 살펴보는지 설명해주신다!

[서평] 아토믹 코틀린 - 3. 객체 지향 프로그래밍 하기[서평] 아토믹 코틀린 - 3. 객체 지향 프로그래밍 하기

또한 해당 예시에 관한 코드를 전부 Intellij 자체에서 지원해 준다... 레 전 드...

[서평] 아토믹 코틀린 - 3. 객체 지향 프로그래밍 하기

 

하나의 atom 내부에서도 일부 처음 나오는 내용의 경우에는 대부분 저자가 따로 설명을 해준다. 또한 주석에도 상당한 내용이 추가되어 있는데, 보통 조금 deep 한 내용들이 주석에 있었던 거 같다. 

[서평] 아토믹 코틀린 - 3. 객체 지향 프로그래밍 하기
SAM이라는거 여기서 처음 알았다.

 

사실 이 책이 더 대단한 이유는 내용도 내용이지만....

모든 실습 예제와 연습문제를 Intellij만 설치되어 있다며 바로 접해볼 수 있다는 점이다.

(저자 두 분이 모두 JetBrain에서 근무 중이라 가능한 것일까? ㅋㅋㅋㅋ)

 

책 실습: 다음과 같이 각 atom마다의 연습문제를 intellij 플러그인을 통해 제공받을 수 있었습니다!

https://plugins.jetbrains.com/plugin/10081-jetbrains-academy

 

JetBrains Academy - IntelliJ IDEs Plugin | Marketplace

Learn and teach programming languages such as Kotlin, Java, Python, JavaScript, Rust, Scala, C/C++, Go, and PHP, through interactive courses right in your JetBrains......

plugins.jetbrains.com

위 링크나, 아니면 Intellij 내부 설정을 통해 다운로드 하신 후, market에서 atomicKotlin을 찾아 다운로드한 후 실습을 진행하면 됩니다!

 

연습문제 과정은

1) 문제를 읽는다

2) 코드를 작성한다

3) 오른쪽 하단의 check를 눌러 내가 작성한 코드가 pass 되는지 확인한다.

3-1) pass 된다면 다음 연습문제로~

3-2) pass 되지 않는다면 다시 풀거나, 힌트 보기를 통해 재시도할 수 있습니다!

[서평] 아토믹 코틀린 - 3. 객체 지향 프로그래밍 하기

오른쪽에 해당 문제에 대한 설명이 나오고, 이를 직접 코드로 작성한 후 Check를 누르면 테스트 코드를 통하여 잘 구현되었는지 확인되는 방식이다. (역시 테스트가 있어야 개발이지~)

 

어떤 책이 이렇게 까지 지원해 주겠는가? 애당초 이 책은 JetBrain이 Kotlin을 널리 전파하기 위해 만든 책에 가깝다는 생각이 들었다.

저자며, 책의 구성이며, 연습문제며 등등, 시간만 많다면 1 회독 정도 더 한다면 코틀린을 사용하는 입장에서 전혀 불편함이 없을 것이라 생각된다.

 

4. 읽은 소감

음 나처럼 코틀린 처음 공부하는 사람한테 뭐로 시작해야 할지 모르겠다면, 그냥 이 책 한 권 바로 추천해주고 싶다.

다만 이게 연습 문제까지 풀면 당연하게 도움이 되지만, 시간이 좀 많이 소모되기 때문에... 바쁜 사람은 책만 읽어도 충분하다 생각된다.

 

코틀린을 처음부터 잘 배우고 싶은 사람이라면 추천한다, 다만 Java나 C++ 사용 경험이 있다면 더욱 좋을 것 같다.

사실 나야 다른 언어들을 많이 사용해 봐서 이 책이 좋다 생각할 수도 있지만, 진짜 Kotlin초보자라면 객체지향 개념이 없어서 5장 읽을 때 힘들 수도 있다.

 

이런 점만 제외하면 정말 좋은 책이라 생각된다!

 

Kotlin 처음 공부하면 이 책 강 추입니다!

댓글