본문 바로가기

TIL & WIL/WIL

2023 / 06 / 18 WIL

 이번 한 주 동안 배운 것들이 참 많았다.

java 문법 종합반 강의 수강을 시작으로 개인과제, 팀과제를 진행하였고 기초 테스트를 통해 공부가 되어있는 상태를 확인할 수 있었고, 코딩테스트 연습문제들을 풀어가며 문제에 접근하고 구현하는 방법에 대해 배웠다. 그리고 조원 분들과 페어프로그래밍을 진행하며 특히 중요한 것들을 배울 수 있었는데 주요 내용을 정리해 보면 다음과 같다.

 

회고와 알게 된 점

1. java 문법 종합반 강의 수강

 내가 주로 들은 내용은 스파르타코딩클럽에서 제공하는 java 문법 1~2주 차 강의이다. 우선 1주 차에서는 java의 역사와 JVM, 그리고 IntelliJ를 사용하여 가장 기본이 되는 변수에 대해서 어느 정도 다뤄보았다. 여기서 JVM을 다시 간단히 정리해 보자.

 

  • JVM은 Java Virtual Machine의 약자로 공통 실행환경을 말한다.
  • JVM은 java가 구동할 수 있는 환경을 만들어준다.

 이어서 2주 차에서는 연산자, 조건문, 반복문, 배열, 컬렉션에 대해 배웠는데, 다양한 것들이 등장하다 보니 이해하는 데에 시간이 많이 필요했다. 그중에서도 주로 조건문과 반복문을 익히고자 시간을 많이 사용했다. 키워드를 적어보자면,

 

  • 조건문은 대표적으로 if문과 switch문이 있다.
  • 반복문은 대표적으로 for문, while문, do-while문이 있다.

이 중에서 for문은 필수적으로 알아야 한다는 말씀이 있었다. 그래서 코딩테스트 연습문제를 풀 때에도 반복문 관련 문제에선 for문을 주로 사용하려 했다. 익숙해질 때까지 많이 사용해 보도록 하자.

 

 아직 3주 차 강의를 돌파한 것은 아니지만 살짝 맛을 봤다. 가장 중요하게 언급되는 것은 '객체지향 프로그래밍'이었다.

 

  • 객체는 '세상에 존재하는 것'을 말한다.
  • 객체는 식별이 가능하고 어떤 특성(특징, 속성)이 있고 행동(행위)을 가지고 있는 모든 것이라 말할 수 있다.
  • '객체지향 프로그래밍'이란, 데이터와 객체를 중심으로 소프트웨어를 개발하는 방법이다.
  • '객체지향 프로그래밍'을 통해 현실 세계의 문제를 프로그램으로서 표현하는 것이 가능하다.

 앞으로 쭉 따라다닐 중요한 개념이란 생각이 든다. 어서 3주 차 강의를 통해 자세히 살펴봐야겠다.

 

 

2. 팀과제

 팀과제로 숫자로 하는 야구게임을 구현해 보았다. 조건들을 읽고 내용에 맞게 어떤 식으로 코드를 구성해야 할지 설계를 해보았다. 여기서 시간을 많이 잡아먹었다... 내가 가진 지식과 실력으로는 아직 할 수 없는 수준에 과제라는 생각이 들었다. 결국 어쩔 수 없이 구글링과 ChatGPT를 활용하여 완성할 수 있었고, 그 코드를 학습해서 내 것으로 만들어보자는 생각을 했다. 하지만, 이 과정 또한 쉽지 않았다. 강의에서 봐왔던 간단한 코드 구성과는 다른 복잡한 구성이다 보니 상당히 헷갈렸고 처음 보는 것들이 참 많았다... 그래서 같이 팀과제를 진행한 홍승현 님과 코드를 같이 살펴보았고, 자세하게 설명해 주셔서 이해할 수 있었다. 정말 하나의 java 강의를 들은 느낌이었다.

 사실 며칠 지나서 코드를 다시 보았는데 또 이해가 안 됐다. 그래서 한참 동안 파고들어서 본 결과 다시 이해할 수 있었다.

이 경험을 통해 내가 다음번에 또다시 봤을 때 분명 헷갈려할 것이란 생각이 들었다. 그래서 내가 내린 결론은 익숙해질 때까지 자주 보고 익히자는 것이다.

 

 승현 님 정말 감사합니다!

 

3. 코딩테스트 연습문제 풀이

 조건문과 반복문 강의를 나름 심도 있게 수강했다는 확신을 가지고 첫 문제를 마주했다. 하지만 처음부터 어려웠다. 강의를 들을 땐 쉽고 간단해 보이던 것들이 막상 내가 직접 하려고 하니 '뭐부터 어떻게 해야 하지...?'라는 생각이 들었다. 그래서 우선 구글링을 통해서 문제에 대해 다른 사람들이 접근한 방법들을 살펴보았고, 내 지식수준에서 활용할 수 있는 내용을 참고하여 직접 해본 결과 첫 문제를 풀 수 있었다. 그리고 이어서 쭉쭉 풀어나갔는데, 시간이 어느 정도 걸리긴 했지만 문제에 접근하는 방법에 대해 점점 감을 잡을 수 있었다. 진행하면서 필요한 기능들, 메서드에 대해서 알게 됐는데 이 부분들은 까먹지 않도록 반복해서 숙달하는 게 정답이라고 생각한다.

 

4. 조원 분들의 가르침

 조원 분들에게 중요하고 많은 것들을 배웠다. 하나하나 살펴보자면,

 

  • 코딩테스트 연습문제를 풀고 그냥 넘어가는 것이 아니라 다른 분들의 풀이도 공부할 것!
  • 어느 정도 익숙한 코드에 대해선 코드 최적화(최대한 짧게 구성해서 효율성을 높이는 것)를 생각해 볼 것!
  • 다른 분들의 블로그를 탐구하다 보면 유용한 것들이 많다!
  • 어느 정도 여유가 생겼을 때 IntelliJ 사용 꿀팁과 단축키를 배워 작업 능률을 높이자!

 아직 java신생아인 나에겐 조원 분들의 말씀 한마디한마디가 큰 가르침이 된다. 빠르게 성장해서 나도 누군가에게 도움을 주고 싶다. 

 

 2조 여러분 정말 감사합니다!

 

이번 주 목표 돌아보기

 결과부터 말하자면, 목표를 달성하지 못하였다.

우선 java 종합반 강의를 3강까지 수강하자는 목표를 달성하지 못했고, 코딩테스트 연습문제를 8~10문제 더 풀지 못했다.

2주 차 강의는 생각보다 어려웠고 자꾸 까먹게 돼서 시간을 많이 사용해 완강하였다. 사실 말이 완강이지 또 들여다보면 분명 헷갈릴 것이다. 하지만 당장 우선적으로 해야 할 것들이 있기에 이것만 붙잡고 있을 수는 없다. 그래서 나중에 틈틈이 참고하여 까먹지 않도록 해야겠다는 생각이다. 그리고 코딩테스트 연습문제를 처음 진행하다 보니 새로운 기능을 알아야 하는 경우에 많이 놓인다. 그래서 그것들을 습득하는 데에 시간이 많이 소요되기도 한다. 이 부분은 반복하고 숙달하는 과정에서 점점 나아질 거라 생각한다. 그리고 집중력이 다소 떨어진 부분도 크다고 생각한다. 당장은 배워야 할 것들이 많아서 하루하루 만족하는 것보다 조급함이 더 크다. 그래서 잠까지 줄여가며 하루종일 시간을 쏟는데, 이게 오히려 집중력 저하를 불러오는 요인이 된 것 같다. 그래서 하루 능률을 높이기 위해 필요한 효율적인 시간 관리에 대해 고려해 봐야겠다.

 

다음 주 목표 설정

 

 - java 문법 종합반 강의 5강까지 완강하기

 - 코딩테스트 연습문제 Marathon 단계 돌파하기

 

 

 

 

 여기까지 이번 주 WIL을 마친다.

 

 

 

 

 

'TIL & WIL > WIL' 카테고리의 다른 글

2023 / 06 / 25 WIL  (0) 2023.06.26
2023 / 06 / 11 WIL  (0) 2023.06.25