선생님 자바에 대한 깊은 이해를 갖고자 하는데 추천해주실만한 책이 있을까요?
4324
작성한 질문수 61
안녕하세요 선생님! 프론트엔드를 공부하다 백엔드도 하고자 하여 공부를 하고 있는 대학생입니다.
자바를 좀 더 깊이 있게 공부를 하고자하는데 추천해주실만한 책이나 강의가 있으실까요? (선생님의 자바 강의가 있다면 좋겠지만 없으셔서 질문드리게 되었습니다) 또한, 자바를 어떻게 공부하면 좋을지에 대한 방향도 추천해주시면 감사하겠습니다!
마지막으로 개발관련 서적 중 실력 향상에 도움이 되셨던 서적이 있으신가요?
답변 1
2
안녕하세요 종민님!! 😊 좋은 질문 올려주셔서 감사드립니다~~!! 👍
자바를 더 깊이 공부하기 위해 좋은 책이나 강의라~~~ 제가 Java 언어를 공부할 때는 주로 책을 통해 공부했어서 제가 읽었던 책들 중 몇 가지 추천 드려보겠습니다!!
[이펙티브 자바 #3]
https://product.kyobobook.co.kr/detail/S000001033066
Java를 깊이 있게 공부하고 싶다고 하셨을때 가장 먼저 이야기를 들으실 Effective Java입니다!
챕터에 따라 난이도가 꽤 있는 부분들도 있지만, 한 번에 이해하실 필요는 없고 필요한 챕터만 먼저 골라 적용해보실 수 있는 것이 장점입니다.
Java를 제대로 공부하고 싶으시다면 강추 드립니다!!
[모던 자바 인 액션]
보통 Java를 학습하시게 되면, 변수/연산자/조건문/반복문/함수 이후 클래스/상속/인터페이스 정도 까지 배우실 확률이 매우매우 높습니다. 그 이유는 바로 JDK 8 (자바 8버전) 을 기점으로 많은 내용들이 추가되었고 이 내용들은 교육 컨텐츠로 많이 퍼져 있지 않기 때문인데요!
저 역시 "Java를 배웠다"라고 했을 때 JDK7과 JDK8의 차이점은 무엇인지 함수형 프로그래밍이 JDK8로 넘어와서 어떻게 변화되었는지 등을 알기 어려웠습니다.
이런 분들을 위한 책이 있습니다~~ (이렇게 홍보하니 마치 제 책 같군요... 제 책 아닙니다 ㅎㅎㅎ...)
https://product.kyobobook.co.kr/detail/S000001810171
<모던 자바 인 액션>인데요! 이 책은 JDK8에 등장한 람다, 스트림, 함수형 프로그래밍 등을 집중적으로 조명합니다. 저 역시 Optional이 왜 등장했고, 스트림을 어떤 식으로 활용할 수 있는지 이 책을 통해 많이 배웠던 것 같습니다.
[이 외에 추가적으로...]
이 외에 몇 가지 유명(?)한 책이 조금 있긴하지만, 제가 70~80% 읽은 책은 없어서 말씀드리기 어려울 것 같습니다. 다만, 저도 위의 2권 정도를 읽고는 실무에서 Java를 깊이 있게 적용하는데 크게 무리가 없더라고요!
실무를 진행하다가 특정 주제를 더 알아야겠다는 생각이 들었을 때, 공식 docs를 더 찾아보거나 관련 기술 블로그 글, 사례 들을 많이 찾아보는 식으로 공부했습니다.
(ex. LocalDateTime이 JDK8부터 쓰였다고?! 왜지..?! -> 검색 -> https://d2.naver.com/helloworld/645609 보면서 공부 등등..)
다음으로는 개발 관련 서적 몇 가지 추천 드려보겠습니다!
[클린 코드]
https://product.kyobobook.co.kr/detail/S000001032980
Java 코드를 예제로 하고 있는 서적 <클린 코드>는 어떤 코드가 읽기 좋은 코드인지를 다양한 예시와 함께 알려주는 책입니다! 결국 개발자는 코드로 소통하다보니 좋은 코드를 작성하는 것이 중요한데요, 어떤 코드가 좋은 코드인지에 대해 다양한 내용들이 담겨 있어 한 번 쯤은 꼭 읽어보시면 좋은 책입니다!
[오브젝트]
https://product.kyobobook.co.kr/detail/S000001766367
마찬가지로 Java 코드를 예제로 하고 있는 서적 <오브젝트>는 OOP란 무엇인가를 깊이 있게 알려주는 책입니다. 저희가 흔히 객체지향 프로그래밍이라는 말을 많이 하곤 하지만, "어떻게 코드를 작성하는 것이 객체지향적인가" 를 명확히 설명하기란 무척 어렵거든요. Java를 처음 배울 때 잘못된 OOP 내용을 받아들이기도 하고요.
대부분의 모던 애플레케이션이 OOP를 기반으로 하고 있는 만큼 한 번쯤 읽어보시면 좋은 책입니다!
다만, 이 책 내용이 그렇게 쉽지 만은 않습니다. 때문에 이보다는 잘 읽히는 같은 저자 분의 <객체지향의 사실과 오해>를 읽어보셔도 좋을 것 같습니다.
가장 뼈대가 되는 언어 관련 책과 기본기가 되는 클린코드/OOP 관련 책을 추천드렸는데 도움이 되셨을지 모르겠네요! 😊 혹시나 다 공부하시고 특정 부분으로 또 공부하시고 싶으시면 언제든 편하게 질문 올려주세요~!!! 👍 책을 읽으시면서 느낀 부분이나 배운 부분을 사이드 프로젝트 혹은 실제 프로덕트에 적용하시다 보면 금방금방 실력이 느실겁니다!
항상 응원합니다! 🔥 감사합니다!!!! 🙇🙇
0
정말 친절한 답변 진심으로 감사드립니다!
책에서 읽은 내용들을 코드에 적용시키기 위해 많은 노력을 해보겠습니다.
나중에 선생님과 같은 분이 제 사수셨으면 좋겠습니다~
좋은 밤 되시고 다시 한 번 진심으로 감사드립니다!
패키지 구분에 대해 궁금한게 있습니다
0
27
2
리액트 관련 질문이 있습니다.
0
65
2
스프링부트 버전
0
78
2
7강 강의를 들으려고 했는데 오류가 나서 서버가 안 켜지는거 같아요.
0
60
2
33강. UserLoanHistory의 관계성에 대한 질문
1
57
2
Java JDK 버전 문의의 건
0
136
2
ec2 에서 Linux버전이 달라져서 설치가 안되는것 같은데 자료 최신화좀 해주세요.
0
90
3
h2 console 접속했을 테이블 질문
1
67
1
ec2 서버에서 스프링 실행도 되고 인바운드 설정까지 했는데 index.html 안됨
0
82
2
15강. updateUser() 질문
0
57
2
깃허브 질
0
88
2
여기까지 다 끝냈다고 하셨는데
0
81
2
왜안될까요
0
72
2
MySQL 창이안ㄴ뜹니다
0
59
2
포스트맨
0
53
1
spring 개념적인 질문
0
72
2
인텔리제이 샘플코드 실행 안됨 오류
0
144
2
aws 배포할때 .env 파일에 저장한 환경변수에 관하여 여쭤볼게 있습니다
0
88
1
마이그레이션 오류입니다.
0
176
3
Whitelabel Error Page 오류가 났습니다.
0
172
2
안녕하십니까! 오류가 났습니다.. 도와주세요 ㅜㅜ
1
95
3
궁금한게 있습니다.
0
61
2
DTO 관련
0
71
2
궁금한게 있습니다!
0
70
2





