TIL

WIL - 8/14 ~ 8/20

iksadnorth 2023. 8. 20. 20:33

👣 항해99 정규 과정 1주차

이번주는 java 기본 문법을 배우고 해당 문법의 알고리즘 문제를 풀며 익히는 한주였다.

사실 해당 교육 이전에 이미 java에 대한 공부를 수행했었기에 강의 자체로는 큰 이득을 얻지 못했다.

하지만 기술 매니저님의 조언을 받아 Effective Java라는 책을 읽으며, 사소한 차이지만 큰 성능 상의 차이를 내는 포인트들을 익힐 수 있었다. 그동안 핑계를 대며 java에 대해 깊은 이해를 하지 않으려 했었기에 이 기회에 다시 재정립을 하자는 마음으로 java에 대한 지식을 다져보니 생각보다 많은 것을 모르고 있다는 것을 깨달았다.

예를 들어, 그동안 Enum 클래스를 작성하면서 새로운 Item을 추가히기 위해 단순히 소스 코드를 수정했다. 하지만 이것은  OCP 원칙을 무너뜨리는 행위였고 이것을 전혀 인지하지 못했다. 이번에 읽은 Effective Java를 통해 잘못됨을 인지하고 이것을 방지하기 위해 Enum에 인터페이스를 적용하고 추가적인 item을 적용할 때, 해당 인터페이스를 구현한 또다른 Enum을 만들기로 했다. 

이 뿐만 아니라 항해 99의 강의를 들으며, 그동안 취약했던 OOP의 4개의 특징, OOP의 5개 원칙을 나만의 언어를 사용해 이해를 하고자 했고 알고리즘 문제를 풀면서 구멍이 나있던 Stream 문법도 재정립할 수 있었다. JVM, JDK, JRE에 대한 개념도 다시 공부해 더 단단히 익히는 계기가 되기도 했다.

 

👣 앞으로의 계획

Effective Java의 경우, 하나의 일관된 규칙에 의해 서술되는 책이 아닌 옴니버스 형식으로 필자의 경험들을 나열한 방식이라 1회독에서 끝난다면 그다지 유용한 책은 아니라고 생각했다. 때문에 기회가 된다면 틈날 때마다 n회독을 시도할 계획이다.

물론 모든 Item을 훑는다는 것은 무모하고 의욕을 떨어뜨리는 일이므로 1회독 때, 가장 유용한 혹은 난해했던 Item을 체크하고 해당 항목들을 읽을 예정이다.

그리고 java에 대해 이해는 하고 있으나 입밖으로 설명하는 것이 어렵다는 생각을 했기에 이런 지식을 입밖으로 내뱉는 훈련이 필요함을 느꼈다. 이에 대한 대책을 고민해볼 계획이다.

'TIL' 카테고리의 다른 글

8/22  (0) 2023.08.22
8/21  (0) 2023.08.21
8/19  (0) 2023.08.19
8/18  (0) 2023.08.18
8/17  (0) 2023.08.17