오브젝트 책을 읽다가 그냥 읽기보다는 코드를 직접 쳐보는게 좋을것 같다는 생각이 들어 오늘부터 코드를 따라쳐보기 시작했다.
Chapter01의 코드를 따라 치던 중 의문이 드는 부분이 있었다. 나의 경우에는 생성자가 지금처럼 2개 이상이라면 주석처럼 사용했었는데, 이 책에서는 기존의 다른 생성자를 호출하는 방식으로 작동되는 것이다.
생각해 보면 코드의 재활용을 이용해 중복을 줄여보려는 건가 싶기도 했다. 하지만 나는 이렇게 코드를 사용하면 생성자에 인자가 많아질수록 가독성이 안 좋아질 거라는 생각이 들었다. 왜냐하면 위의 사진처럼 null이 있다고 치면 뭐가 null인 건지 일일이 대조해 보며 확인해야 하기 때문이다. 지금은 별거 아니라고 생각해도 인자가 많아질수록 순서와 위치를 파악해 둬야 하므로 가독성이 안 좋아질 수밖에 없다.
그래서 같이 스터디를 하는 분들께 의견을 여쭤보니 책이라고 다 맞거나 요즘 스타일인 건 아니니 지금처럼 고민해 보는 게 좋다는 의견을 주셨다. 그리고 이유만 타당하다면 2가지 모두 다 합당할 수 있다는 의견도 주셨다.
사실 나는 책으로 썼다는 건 내용이 검증된 거니 맞다라는 생각을 어느 정도 가지고 있었다. 특히 이 책은 유명하기도 하니 더 그랬다.
그러다 보니 내용이 내 생각과 충돌하고 이해가 안 되는 부분을 보며 고민이 되었던 것이다. 하지만 오늘 다른 분들과 의견을 나눠보면서 그게 아니라는 걸 깨달을 수 있었다.
책을 보다 보면 이런 방식도 있구나 좋네라는 생각이 드는 부분도 있지만, 그렇지 않은 부분도 있다. 사실 사람의 의견이 다 다르니 어쩔 수 없는 부분이기도 하다.
하지만 이런 부분들도 모두 보면서 작성 의도를 파악하고 내 의견과 비교하다 보면 더욱 더 성장할 수 있을 것이라는 생각이 든다.
처음 프로그래밍을 배울 때만 해도 나만의 주관이 없이 그저 좋은 코드라고 하는 걸 따라 치기만 했었다. 그런데 이제는 다른 사람의 코드를 보면서 어떤 게 더 좋은 코드인지를 생각하고 있는 나의 모습을 볼 수 있었다. 코드 작성에 주관이 생기고 항상 왜를 찾는 모습을 보니 그때와 비교해 많이 성장했구나라는게 조금은 느껴지는 것 같다.