😔2022.12.16

일일 회고 121일차

할일 및 한일

경험 및 배움

Java 프로젝트 중간 점검

오늘은 자바 프로젝트 중간 점검을 하고, 피드백을 받았다.

어제 패키지 분리, 로직 분리 등의 피드백은 어느 정도 받은 상태라 나머지 피드백만 받았다.

우선 switch 문을 작성할 때 나는 습관적으로 BufferedReader 를 사용하고, 박싱 과정을 통해 int 형으로 변경하여 사용하였다.

하지만 생각해보면 그럴 필요는 전혀 없었고, 오히려 박싱 과정을 통해 객체를 힙 영역에 하나 더 생성하므로 비효율적인 과정이 될 수 있다. 따라서 String 타입으로 진행하는 것으로 변경할 예정이다.

또한 현재는 if , else-if 문이 필요 이상으로 많고, 중복되는 것들이 있어서 가독성이 좋지 않고, 코드가 안쪽으로 깊어져서 보기 좋지 않다. 따라서 이것도 if 문에서 조건에 일치 하지 않는 경우를 오히려 먼저 작성하고, 나머지 코드를 밖으로 빼는 형식으로 바꿔보아서 가독성을 높여볼 예정이다.

현재 까지의 기록은 다음과 같다.

자료구조 4장(연결 리스트의 확장) 70%

현재 까지는 원형 연결 리스트, 이중 연결 리스트에 대해서 추가적으로 학습하였다.

원형 연결 리스트는 생각보다 간단했지만, 이중 연결 리스트는 복잡하고, 이해하기 좀 어려웠다.

우선 노드 사이의 연결이 양방향이다 보니, 노드의 추가와 삭제에서 좀 더 복잡하고, 구현하기 쉽지 않았다.

두 연결 리스트의 큰 차이점은 다음과 같다.

  1. 원형 연결 리스트는 순환 구조이고, 이중 연결 리스트는 아니다.

  2. 이중 연결 리스트에서는 마지막 노드의 다음 노드는 첫 번째 노드가 아닌 헤더 노드이다.

  3. 이중 연결 리스트에서는 헤더 노드의 이전 노드는 마지막 노드이다.

개선 및 목표

  • 주말은 학교에서 주최하는 청소년 IT Camp의 보조 강사로 참여한다. 남은 시간은 개인 공부에 열중하자.

Last updated