저의 돈으로 직접 사서 직접 완독해 본 후 써보는 후기입니다. 따라서 장점은 장점대로 칭찬할 것이며, 단점은 단점대로 언급할 것입니다.
아토믹 코틀린 : 네이버 도서
네이버 도서 상세정보를 제공합니다....
search.shopping.naver.com
Java를 거의 2년 가까이 사용해오다 보니 자연스럽게 JVM위에서 동작하는 다른 언어에 관심이 생기기 시작했다.
더 나아가 요즘 인기가 많아지고 있다 느낀 Kotlin에 대하여 관심이 있었기에 코틀린을 처음 배우고자 입문서로 선택하게 되었다.
<읽은 기간>
2023/06/28 ~ 2023/07/26
<리뷰 순서>
1) 책의 표지
2) 단원별 구성
3) 읽은 소감
우선 저의 글의 앞부분만 보는 분들을 위해 먼저 간단히 4가지에 대해 답해보겠습니다.
Q 이 책을 읽기 전에 필요한 수준/ 지식은?
=> 일단, 저자는 프로그래밍 초보도 읽기에 적합한 책으로써, 혼자 힘으로 알아낼 수 있을 만큼의 내용만 딱 제공한다 적어두었다.
하지만 내 생각에는 조금은 프로그래밍 경험이 있는 사람이 빠르게 Kotlin을 학습하기에 적합한 책이라 생각된다.
![[서평] 아토믹 코틀린 [서평] 아토믹 코틀린](http://t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png)
저자는 신기하게 쳅터라는 키워드가 아닌, atom이라는 키워드를 사용하여 최소 단위의 기능을 중심으로 책을 서술하였다.
따라서 쳅터 간의 연계가 되기보다는, 한 atom을 배워나가는 책이며, 필요하다면 다른 atom을 먼저 읽어봐도 될만한 책이다.
Q 이 책의 번역 상태는? (4/5)
=> 번역 상태가 좋다 생각된다. 하지만 개별 atomic 하나마다 약간의 번역에서 어색함이 종종 보이고는 한다. 문제 될 정도는 아니지만, 돌이켜 생각해 보면 프로그래밍 초보라면 모르고 넘어갈 수도 있는 부분들이 있다.
예를 들어 다운캐스팅인데.... 업캐스팅으로 잘못 명시한 부분이라던가? 사소한 실수들이 이따금 보이곤 한다.
하지만 이 정도면 적합한 번역품질이라 생각되며, 나 같은 경우 1쇄 인지라, 3쇄쯤 가면 이런 부분도 없어질 것이라 생각된다.
<번역 기준>
5/5 : 책을 완독 하는 동안 거의 어색함을 못 느낀 번역
4/5 : 한 쳅터를 읽을 때마다 한, 두 번? 어색함을 느낀 번역
3/5 : 한 장을 읽을 때 마다 한, 두번? 어색함을 느낀 번역
2/5 : 한 문장을 읽을 때 마다 한, 두번? 어색함을 느낀 번역
1/5 : 그냥 발 번역
Q 이 책을 읽어야 할 필요성, 어디에 도움이 될까?
=> 우선 당연히 Kotlin을 입문하는데 매우 적합한 책이다. 그도 그럴 것이 저자가 그 유명한 브루스 애켈과 스베트라나 이사코바이다.
![[서평] 아토믹 코틀린 [서평] 아토믹 코틀린](https://blog.kakaocdn.net/dn/F6Y5H/btso5YYD2N3/M1HciqKHwdgeMlK6j4d7qK/img.jpg)
특히 브루스 애켈의 Thinking in Java는 좀 예전 책 이기는 하지만 매우 유명한 Java 책이다.
심지어 스베트라나 이사코바 는 그 유명한 Kotlin in Action의 공동 저자이다.
![[서평] 아토믹 코틀린 [서평] 아토믹 코틀린](https://blog.kakaocdn.net/dn/pXqdX/btso23zgGx2/eKC8I3YmBKJ1ih3otPzHn1/img.png)
요약하면 레전드 두 분 이서 쓴 책이라 기대 200% 정도 된다 이 말이다.
Q 이 책을 읽은 후 추후 공부는?
=> 음 일단 나는 바로 Spring 하고 연계하여 프로젝트를 진행 중이다. 확실히 Lombok을 사용하지 않아서 좋고, 확장함수 같은 개념을 사용하여 JpaRepository를 확장하여 사용하면 매우 편하다는 생각이 들었다. 더 나아가 코드 자체가 매우 간결해진다는 느낌이 들었다.
이후에는 코루틴이나, 함수형 코틀린에 관한 책들을 읽어보고 싶다!
1. 책의 표지
![[서평] 아토믹 코틀린 -
1. 책의 표지
[서평] 아토믹 코틀린 -
1. 책의 표지](https://blog.kakaocdn.net/dn/bhjNMw/btso0PVODNe/QQNk2fPsN5spV9e0GOzkv1/img.jpg)
![[서평] 아토믹 코틀린 -
1. 책의 표지
[서평] 아토믹 코틀린 -
1. 책의 표지](https://blog.kakaocdn.net/dn/cds3tG/btso0Pau3vQ/6wbcLPIwXeBfKmKuuPy0OK/img.jpg)
길벗의 책을 오랜만에 읽어봤는데 표지가 아주 깔끔하다 생각된다! 군더더기 없이 마음에 드는 디자인이다!
2. 단원별 구성
우선 총 7부로 구성되어 있다
1부 : 프로그래밍 기초
2부 : 객체 소개
3부 : 사용성
4부 : 함수형 프로그래밍
5부 : 객체 지향 프로그래밍
6부 : 실패 방지하기
7부 : 파워 툴
이중 나는 6부까지만 읽었으며, 7부는 제네릭이나 연산자 오버로딩의 내용이라 아는 개념이라 생각되어 pass 하였다.
7부에서는 딱 하나, Lazy Init 부분만 살펴봤던 것 같다.
여러 장들이 다 재미있었지만, 그중 친숙한 5부, 객체 지향 프로그래밍 파트를 중점적으로 리뷰를 남겨볼까 한다.
3. 객체 지향 프로그래밍 하기
![[서평] 아토믹 코틀린 - 3. 객체 지향 프로그래밍 하기 [서평] 아토믹 코틀린 - 3. 객체 지향 프로그래밍 하기](https://blog.kakaocdn.net/dn/kLpvY/btso8ee6fBM/FHQjZK3hDLTui8tpYZD4jK/img.jpg)
일단 첫 도입부부터 나에게 인상 깊었다. 나는 어느 순간부터 상속은 안티 패턴이라 생각하고 있던 사람이다.
대충 그 기점은 Effective Java라는 책을 만드신 저자분이 "상속은 애당초 없었어야 한다"라는 말을 했던 것을 본 이후부터였을 것이다.
나 또한 상속을 사용하면서 개발이 편했다라고 느낀 적이 별로 없어 이렇게 생각하고 있었지만...
위 표지를 보면 "요즘은 상속을 불신하는 게 유행인 것 같다"라는 나에게 치명타를 날려주셨다... 윽.... 역시 사람의 관점은 다를 수도 있으며, 주어진 상황마다 모두 다를 수 있다는 점 명심해야겠다!
책의 대부분은 다음과 같은 구성이다.
atom 하나마다 주어진 키워드가 있으며, 해당 키워드에 대한 필요한 정도의 지식과 예시를 제공한다.
코드의 경우 100%로 어떤 코드인지 설명하면서, 해당 부분에서 Kotlin의 어느 기능을 살펴보는지 설명해주신다!
![[서평] 아토믹 코틀린 - 3. 객체 지향 프로그래밍 하기 [서평] 아토믹 코틀린 - 3. 객체 지향 프로그래밍 하기](https://blog.kakaocdn.net/dn/bmlEGS/btso0ssTTwW/Y6dkcEBfLUYi1R4Goa4t1K/img.jpg)
![[서평] 아토믹 코틀린 - 3. 객체 지향 프로그래밍 하기 [서평] 아토믹 코틀린 - 3. 객체 지향 프로그래밍 하기](https://blog.kakaocdn.net/dn/ChlBW/btso22G92CB/cP7hxeigRl0qfox4KMpHF0/img.jpg)
또한 해당 예시에 관한 코드를 전부 Intellij 자체에서 지원해 준다... 레 전 드...
![[서평] 아토믹 코틀린 - 3. 객체 지향 프로그래밍 하기 [서평] 아토믹 코틀린 - 3. 객체 지향 프로그래밍 하기](https://blog.kakaocdn.net/dn/b1hmck/btso0O3HDrU/FTFKGWPwYe199eULVeQCdK/img.png)
하나의 atom 내부에서도 일부 처음 나오는 내용의 경우에는 대부분 저자가 따로 설명을 해준다. 또한 주석에도 상당한 내용이 추가되어 있는데, 보통 조금 deep 한 내용들이 주석에 있었던 거 같다.
![[서평] 아토믹 코틀린 - 3. 객체 지향 프로그래밍 하기 [서평] 아토믹 코틀린 - 3. 객체 지향 프로그래밍 하기](https://blog.kakaocdn.net/dn/bYkjZp/btso9gDJwBB/SJkk3b6MQGRD0roN3jNr1K/img.jpg)
사실 이 책이 더 대단한 이유는 내용도 내용이지만....
모든 실습 예제와 연습문제를 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. 객체 지향 프로그래밍 하기 [서평] 아토믹 코틀린 - 3. 객체 지향 프로그래밍 하기](https://blog.kakaocdn.net/dn/qcslv/btso6iJlbjl/pvgkwFkO2JYs3DQmPKdJs1/img.png)
오른쪽에 해당 문제에 대한 설명이 나오고, 이를 직접 코드로 작성한 후 Check를 누르면 테스트 코드를 통하여 잘 구현되었는지 확인되는 방식이다. (역시 테스트가 있어야 개발이지~)
어떤 책이 이렇게 까지 지원해 주겠는가? 애당초 이 책은 JetBrain이 Kotlin을 널리 전파하기 위해 만든 책에 가깝다는 생각이 들었다.
저자며, 책의 구성이며, 연습문제며 등등, 시간만 많다면 1 회독 정도 더 한다면 코틀린을 사용하는 입장에서 전혀 불편함이 없을 것이라 생각된다.
4. 읽은 소감
음 나처럼 코틀린 처음 공부하는 사람한테 뭐로 시작해야 할지 모르겠다면, 그냥 이 책 한 권 바로 추천해주고 싶다.
다만 이게 연습 문제까지 풀면 당연하게 도움이 되지만, 시간이 좀 많이 소모되기 때문에... 바쁜 사람은 책만 읽어도 충분하다 생각된다.
코틀린을 처음부터 잘 배우고 싶은 사람이라면 추천한다, 다만 Java나 C++ 사용 경험이 있다면 더욱 좋을 것 같다.
사실 나야 다른 언어들을 많이 사용해 봐서 이 책이 좋다 생각할 수도 있지만, 진짜 Kotlin초보자라면 객체지향 개념이 없어서 5장 읽을 때 힘들 수도 있다.
이런 점만 제외하면 정말 좋은 책이라 생각된다!
Kotlin 처음 공부하면 이 책 강 추입니다!
'Life > Book Record' 카테고리의 다른 글
[서평] 그림으로 공부하는 IT 인프라 구조 (0) | 2024.04.24 |
---|---|
[서평] 백엔드 개발을 위한 핸즈온 장고 (0) | 2024.03.16 |
[서평] 컴퓨터 구조 및 설계 (0) | 2023.06.22 |
[서평] 도메인 주도 개발 시작하기 : DDD 핵심 개념 정리부터 구현까지 (2) | 2023.01.20 |
[서평] Redis 운영 관리 (4) | 2022.11.08 |
댓글