본문 바로가기
WIL

221121~221127 WIL

by 미노킴 2022. 11. 27.

이번 주 한 일, 배운 것 

항해 프로그래밍 주차 (알고리즘 주차) 마무리 

항해 2주차인 프로그래밍 주차는 알고리즘 문제 풀이 위주로 진행되었고, 24일 목요일에 끝이 났다. TIL들을 보면서 회고를 해보니 1주동안 꽤 많은 것을 얻었다고 생각한다.

 

1. 자바 문법에 친숙해졌다. if, for문을 쓰는데에 익숙해졌고 자바의 여러 가지 기본 메소드들을 쓰는데에도 익숙해졌다. 배열과 List, Set, Map을 완벽하게는 아니지만 어느 정도 사용할 수 있게 되었다. 특히 List는 LinkedList와 ArrayList를 상황에 따라 적절하게 나눠쓸 수 있게 된 것 같다. 잘 다루지는 못하지만 정규 표현식도 배우기는 하였다. 아직 배울게 많지만 그래도 기초는 다진 것 같아서 뿌듯하다.

 

2. 자바 문법들과 자료구조들의 대략적인 효율성과 그 이유를 파악하였다. 예를 들어 문자열을 다룰 땐 StringBuffer나 StringBuilder를 쓰는게 훨씬 빠르다거나, 원시 자료형의 배열은 꼭 필요할 때가 아니면 리스트나 맵, 셋으로 바꾸지 않고 배열로 해결하는 게 좋다던가 하는 등의 정보들을 알게 되었다. 또한 단순히 결과만을 아는 것이 아니라 왜 그런 결과가 나오게 되었는지 그 과정도 어느 정도 알게 되었다. 이러한 자잘한 지식들이 쌓여서 결과적으로 내 코드를 더 좋게 만들어줄거라 생각한다.

 

3. 코드의 가독성이 늘었다. 무의미한 주석을 제거하였고, 변수명들이 훨씬 직관적으로 변했다.

 

이외에도 이번 주차에서 배운 것들이 많지만, 개발과 직접적으로 관련된 것은 위 3가지로 요약할 수 있을 것 같다.

객체 지향 프로그래밍

배우면서도 내용이 너무 광범위하고 서로 다른 내용들이 많아 정리하기가 정말 쉽지 않았다. 한 글 안에 내용을 다 담기엔 무리라고 생각되어 여러 개의 글로 나누어 쓸 예정이고, 그 글들은 공부하면서 계속 수정해 나갈 예정이다.

 

글의 종류는 '객체 지향 프로그래밍의 개념과 목적', '객체 지향 프로그래밍의 구성 요소', '객체 지향 프로그래밍의 원칙' 이렇게 3가지로 나누었다. 개념과 목적은 1개, 구성 요소는 1~2개 정도의 글로 끝낼 수 있을 거라 생각하지만 아마 원칙은 계속해서 추가가 될 것 같다. 물론 앞의 두 가지도 추가될 수도 있다. 현재까지 정리된 글은 아래의 자료 정리 링크에 남겨두었다. 아직 해당 글들은 작성중이고, 28일 월요일 중으로 마무리가 될 예정이다(이 문장은 글 완성시 삭제).

JVM

JVM도 깊게 들어가면 내용이 상당히 방대해져서 한번에 정리할 수가 없었다. 일단은 현재 이해한 부분까지 정리하고, 이후 추가로 정리할 예정이다. 추가 정리에선 JVM의 구성 요소별로 이번 3주차 조원들끼리 나누어 정리해오는 것도 괜찮지 않을까 생각한다.

자료 정리 링크

[Java] 객체 지향 프로그래밍과 절차적 프로그래밍 https://kimdirector1090.tistory.com/80

[Java] 객체 지향 프로그래밍의 3요소 https://kimdirector1090.tistory.com/81

[Java] 객체 지향 프로그래밍 5원칙 (SOLID) https://kimdirector1090.tistory.com/82

[Java] JVM https://kimdirector1090.tistory.com/83

아쉬운 점

이번주엔 건강 문제로 한 주 동안 계속 고생하였다. 건강 관리는 내가 컨트롤 할 수 있는 영역이다. 그러니 건강 문제로 능률이 떨어진다면 그건 온전히 내 탓이고, 내 능력 부족이다. 적절한 수면과 꾸준한 운동은 꼭 챙기도록 하자

'WIL' 카테고리의 다른 글

221219~221225 WIL  (0) 2022.12.26
221212~221218 WIL  (0) 2022.12.18
221205~221211 WIL  (0) 2022.12.11
221128~221204 WIL  (0) 2022.12.04
221114~221120 WIL  (0) 2022.11.20