[스프링 입문을 위한 자바 객체지향의 원리와 이해] 스터디 회고
기존의 내가 알던 자바
지금까지 자바에 대한 공부는 자바의 정석, 실습과 프로젝트, 그리고 코딩테스트 준비가 전부였다.. 파이썬으로 공부를 했왔을 때는 크게 공부를 할 부분이 없었다. 파이썬은 데이터 분석을 공부하면서 자주 사용했다. 통계적 지식이나, 다양한 분석 기법을 사용하기 위해 라이브러리 사용에 집중하는 시간이 많아, 오류가 발생하지 않는 이상 언어에 그렇게 생각을 들일 필요가 없었다. 하지만 자바를 공부해보면서 이런 기존의 생각들을 바꾸는 데에 시간이 많이 걸렸다. 참조 형식, 객체에 대한 이해, 언어가 어떻게 동작하는 지 운영체제에 대한 학습 등 폭넓게 언어를 바라보고 이해해야 한다는 것을 공부하면서 알게 되었다. 그리고 그러한 이해뿐만 아니라 작동하는 방식을 공부하고 자유롭게 사용할 수 있어야 했는데, 필요할 떄마다 찾아보고 문제를 해결하는 방식으로 항상 기억의 단편으로만 남아있었다. 그래서 매번 다시 공부를 할 때마다 자바라는 언어가 쉽게 느껴지지는 않았다.
자바 객체 지향의 원리와 이해 책을 보며
그래서 항상 이해가 되지 않는 내용은 외우느라 급급하게 시간을 보내왔던 것 같다. (특히 JVM!)
그런데 이 책은 알고있지만 이해하지는 못한 지식들을 해결해주기에 꼭 맞는 책이라고 생각했다. 독자를 이해시키기 위해서 쉽게 이해할 수 있는 방법을 많이 생각한 듯 했다. 간단한 예시, 쉬운 설명 그리고 그동안 우리가 이해하고 있었던 고정 관념을 수정하는 내용으로 그동안 정리하지 못했던 머릿속 지식을 하나씩 정리해나갈 수 있었던 시간이었다. 가장 기억에 남는 부분이 있다면, 클래스 변수, 인스턴스 변수, 정적 변수들이 어떻게 저장되고 사용이 되는 지 직접 그림을 통해서 이해하는 과정이 충격일 정도로 쉽게 이해할 수 있었다. 그리고 상속에 대해서도 항상 저 단어의 뉘앙스 때문인지, 89%정도만 이해가 되었다고 생각을 했는데, is kind of 확장 및 재사용 등의 표현으로 수정을 해서 생각을 해보게 되면서 감동까지 받았던 시간이었다 ㅎㅎ
스터디
책은 스터디 활동을 참여하면서 더욱 깊이 이해할 수 있었던 시간이었다. 아마 혼자서 정리를 했었다면 많은 배울 점을 지나치거나 두세번 읽어도 이해하지 못할 수도 있었을 것 같다.
스터디 진행은 다소 흥미로웠다! 책을 요약해주는 사람 1명, 질문지를 만드는 사람 1명 해서 매주 질문과 답변을 하는 형식으로 스터디를 진행했다. 그래서 요약자는 자신이 맡은 페이지를 사람들에게 설명하기 위해 책을 요약하고 자신만의 방식대로 정리해 모두의 앞에서 설명을 했다. 그리고 질문지를 만드는 사람은 이 장에서 어떤 점을 이해했으면 좋을지 요약 포인트를 바탕으로 질문을 하고 답변을 하는 방식으로 스터디가 이루어졌다. 나같은 경우에는 디자인패턴 6장에 걸렸는데 패턴 8개를 이해시키기 위해 자료조사를 엄청 열심히 했던 아찔한 기억이..있다... 그때는 디자인 패턴 코드를 직접 작성해보고 좋은 활용 예시를 찾아보면서 다른 챕터보다 더 많이 이해할 수 잇었던 시간이었다.
(내가 정리해본 6주차 : https://www.notion.so/backend-devcourse/3-dbeb0cdfc75543869c5d51e68cb09903?pvs=4)
스터디 진행은 1시간 반 정도 이루어졌다. 막상 책을 읽고 정리를 했음에도 불구하고 질문과 답변 시간이 되면 쉽게 답변이 나오지 못했다. 자신있게 손을 든 몇가지 질문도 거의 단답형으로 대답이 나오는 것을 보고 조금 부끄러운 마음이 들기도 했다. 그래서 처음에는 틀린다는 두려움이 있었는데 질문 타이밍의 순기능이 숨어있었다!
몇번 질문하기 위해 손을 들고 설명을 잘 못하더라도 다른 사람들이 손을 들어 보충설명으로 도와주니 답변에 대한 망설임이 사라졌다!모두 같이 공부를 하고 자신이 잘하는 부분, 못하는 부분을 서로 보완해주는 형식으로 대화를 하면서 다시 복습의 복습..? 으로 반복해서 글을 톱아보며 책을 2번, 3번 다시 읽은 효과를 누릴 수 있게 되었다! 이러한 스터디 방식을 다른 곳에서 진행하더라도 한번 시도해보는 것도 좋아보인다ㅎㅎ
이런 스터디 활동이 아니었다면, 여전히 자바와 객체지향의 의미에 대해서 다시 구글링으로 정보를 찾아보고 있었을지도 모른다.. 책을 끝까지 읽어야겠다는 의지와 더 많은 배움을 얻어가고 싶다면 많은 스터디 활동을 해보는 것도 추천한다~
이 책을 읽으면 좋아보이는 독자들 : 자바를 공부했는데 자바를 모르겠다,자바에 대해 조금은 읽어봤지만, 기초 배경 지식이 부족하다고 생각하는 분들이 읽어보셨으면 좋겠습니다