on
4주차 피드백
해당 글을 백기선 님의 자바 스터디 4주차 과제를 공부하고 공유하기 위해서 작성되었습니다.
4주차 회고
4주차는 기선님의 개인적인 일로 인해 2주동안 진행되었다. 학습 주제는 제어문이였고, 추가적인 과제가 6개정도 주어졌는데 2주라는 긴 시간때문인지 마음이 느슨해졌고 필수요소인 학습은 끝냈지만, 추가 과제를 하지 못했다. 단순히 추가과제를 하지 못한 것보다는 스스로가 나태해졌다는 것이 좀 더 충격이었다.
나태해진 마음도 문제였지만 과제를 해결하려고 할 때 어떻게 해야하는지 모른다는 근본적인 문제점을 알게 되었다. 프로그래머인데 코딩을 못한다는건 큰 문제이다. 학습한 내용만으로도 작성을 할 수 있다고 생각했는데, 막상 코드를 작성하려고하면 어떻게 해야할지 답답한 부분이 많았다. 이러한 부분은 내가 좀 더 찾아보고 공부했다면 충분히 해결할 수 있었던 부분이라고 생각한다.
과제
이론은 충분히 공부했다고 생각하는데 막상 그것을 활용하여 코드를 작성하는 것이 어렵다. 그래서 과제를 하는데 시간을 많이 투자했지만 하지 못했다.
기선님이 과제 코드에 대해서 코드 리뷰를 해주셨는데, 코드를 작성할 때 자신이 다시 봤을 때 쭉 읽어서 이해할 수 있으면 되고 남이 읽었을 때도 이해가 잘 된다면 좋은 코드라고 하셨다. 다른 분들이 작성한 것을 보고 따라하는게 아니라 그것을 이해해서 내 것으로 만드는 과정이 필요하다.
테스트 코드
JUnit을 처음 접해서 테스트 코드도 잘 모르고 어떻게 작성하는지도 잘 모르고 있었다. 인터넷강의를 통해서 학습을 하고있지만 아직 실제로 짜는 법을 잘 모르기 때문에 다른 분들이 작성한 예제를 통해서 감을 익혀야겠다.
추가 질문
Queue에 있는 offer와 add, poll과 remove, peek과 element 간의 차이는 무엇인가?
A. 예외를 던지느냐 안 던지느냐의 차이가 있다.
각각 묶인 요소끼리 하는 역할은 같지만, 예외를 던지는지 안 던지는지의 차이가 있다. 예를 들어 사이즈가 제한되어 있을 때 값이 들어가지 못했을 때 add는 예외를 던지는데 offer는 false가 나온다.
실제 구현을 할 때 일관성(consistance)을 가지고 있는지를 생각해야 한다. add는 예외가 있는데 null이 나오는 poll을 쓴다던가 하면 좋지 못한 것이다.
추가 학습
JUnit5는 왜 public을 생략해도 되는가?
기본적으로 IDE를 통해 생성된 클래스는 public인데, JUnit5 버전에서는 자바의 reflection을 통해 처리해 default 클래스, default 메소드로도 테스트가 가능하게 업데이트가 되었다.
Reference
Comments
JAVA STUDY HALLE 의 다른 글
-
15주차 피드백 06 Mar 2021
-
15주차 과제: 람다식. 28 Feb 2021
-
14주차 피드백 27 Feb 2021
-
14주차 과제: 제네릭. 22 Feb 2021
-
13주차 피드백 20 Feb 2021
-
13주차 과제: I/O. 08 Feb 2021
-
12주차 피드백 06 Feb 2021
-
12주차 과제: 애노테이션. 01 Feb 2021
-
11주차 피드백 30 Jan 2021
-
11주차 과제: Enum. 24 Jan 2021
-
10주차 피드백 23 Jan 2021
-
10주차 과제: 멀티쓰레드 프로그래밍. 18 Jan 2021
-
9주차 피드백 16 Jan 2021
-
9주차 과제: 예외 처리. 10 Jan 2021
-
8주차 피드백 09 Jan 2021
-
8주차 과제: 인터페이스. 03 Jan 2021
-
7주차 피드백 02 Jan 2021
-
7주차 과제: 패키지. 28 Dec 2020
-
6주차 피드백 27 Dec 2020
-
6주차 과제: 상속. 21 Dec 2020
-
5주차 피드백 20 Dec 2020
-
5주차 과제: 클래스. 14 Dec 2020
-
4주차 피드백 13 Dec 2020
-
4주차 과제: 제어문. 30 Nov 2020
-
3주차 피드백 29 Nov 2020
-
3주차 과제: 연산자. 22 Nov 2020
-
2주차 피드백 21 Nov 2020
-
2주차 과제: 자바 데이터 타입, 변수 그리고 배열. 15 Nov 2020
-
1주차 피드백 15 Nov 2020
-
1주차 과제: JVM은 무엇이며 자바 코드는 어떻게 실행하는 것인가. 08 Nov 2020