인프런 커뮤니티 질문&답변

이종민님의 프로필 이미지

작성한 질문수

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

수업 마무리 영상 (feat. 공부 방향성에 대한 개인적인 조언)

선생님 자바에 대한 깊은 이해를 갖고자 하는데 추천해주실만한 책이 있을까요?

23.02.13 21:16 작성

·

3.2K

1

안녕하세요 선생님! 프론트엔드를 공부하다 백엔드도 하고자 하여 공부를 하고 있는 대학생입니다.

자바를 좀 더 깊이 있게 공부를 하고자하는데 추천해주실만한 책이나 강의가 있으실까요? (선생님의 자바 강의가 있다면 좋겠지만 없으셔서 질문드리게 되었습니다) 또한, 자바를 어떻게 공부하면 좋을지에 대한 방향도 추천해주시면 감사하겠습니다!

마지막으로 개발관련 서적 중 실력 향상에 도움이 되셨던 서적이 있으신가요?

답변 1

2

최태현님의 프로필 이미지
최태현
지식공유자

2023. 02. 13. 22:14

안녕하세요 종민님!! 😊 좋은 질문 올려주셔서 감사드립니다~~!! 👍

자바를 더 깊이 공부하기 위해 좋은 책이나 강의라~~~ 제가 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 관련 책을 추천드렸는데 도움이 되셨을지 모르겠네요! 😊 혹시나 다 공부하시고 특정 부분으로 또 공부하시고 싶으시면 언제든 편하게 질문 올려주세요~!!! 👍 책을 읽으시면서 느낀 부분이나 배운 부분을 사이드 프로젝트 혹은 실제 프로덕트에 적용하시다 보면 금방금방 실력이 느실겁니다!

항상 응원합니다! 🔥 감사합니다!!!! 🙇🙇

 

이종민님의 프로필 이미지
이종민
질문자

2023. 02. 13. 22:45

정말 친절한 답변 진심으로 감사드립니다!

책에서 읽은 내용들을 코드에 적용시키기 위해 많은 노력을 해보겠습니다.

나중에 선생님과 같은 분이 제 사수셨으면 좋겠습니다~

좋은 밤 되시고 다시 한 번 진심으로 감사드립니다!