본문 바로가기

후기/강의 후기

[5주 차 학습후기] Java&Spring boot로 시작하는 웹프로그래밍 (feat. 자바 인강)

728x90

 

- 총 8주 과정 (22.03.23 ~ 22.05.18)

- 총 33시간 과정

- 100% 온라인 진행

- Lv.2 (실전-심화)

- 무료 (K-Digital training 지원)

5주 차 학습일지 (22.04.20 ~ 04.26)


- (선택사항)자바의 다양한 기능들-(1,2,3)

- (선택사항)자바의 다양한 기능들-(4,5,6)

- (선택사항)자바의 다양한 기능들-(7,8,9)

- (선택사항)자바의 다양한 기능들-(10,11,12)

 

 

정규(?) 코스를 끝낸 후 이번 주는 '선택사항' 과정에 들어갔다. 선택사항은 수료 기준에 들어가진 않지만 추가 학습을 제공한다. 선택사항에 포함된 수업은 자바와 관련된 기능들과 스프링 수업이 있다. 전 시간에 스프링 수업에 대한 실망이 커서 일단 자바 추가 학습만 진행하기로 했다.

 

선택사항 자바 추가 수업의 양은 예상보다 많았다. 총 23개의 강의로, 내부 클래스, 함수형 클래스, 람다식, 스트림(stream), 예외처리(Exception), 입출력(I/O), 스레드(Thread) 등, 자바의 정석에서도 후반부에 배우는 내용들이었다. 자바의 정석으로 처음 공부할 땐 객체지향 개념만으로도 벅찬 느낌인데 위 개념들까지 등장하니 숨이 턱 막히는 기분이 들었다. 그래서 "그래, 객체지향 개념만 확실히 잡으면 나머지는 크게 중요하지 않을 거야"라며 스스로 합리화하고 자바의 정석 진도도 객체지향에서 멈췄던 기억이 있다.

 

하지만 위 내용들도 자바의 '기본'에 해당하는 부분이었음을 깨달았다. 어려운 고급 개념이 아니라 필시 익혀야 하는 필수 내용들이었다. 계속 피하기만 해선 안 되는 상황 속에서 미지의 영역에 대한 두려움도 여전히 존재했다. 개발자가 되기로 마음을 먹은 이상 새로운 지식을 익히는 것에 기피해선 안된다는 마음의 쓴소리도 공존했다. 그러던 찰나 이번 선택사항 학습을 하게 된 것이다.

 

이번 주 진도는 일단 내부 클래스, 함수형 클래스, 람다식, 스트림, 예외처리까지 나갔다. 내부 클래스와 예외처리는 자바의 정석 책으로 한번 봤어서 기본적인 틀은 알고 있었지만, 정확한 구현 방법과 쓰이는 상황에 대해선 잘 몰랐다. 함수형 클래스, 람다식, 스트림은 이름만 들어본 정도였다. 이번 수업을 통해 이들에 대한 두려움을 많이 없앨 수 있었다. 특히 람다식과 함수형 클래스, 스트림이 친숙하게 다가왔다. 이 기능이 왜 존재하는지, 어떻게 사용되는지를 보고 나니 학습의 이유를 깨닫게 됐다. 이제 다른 학습 자료를 보아도 흡수가 더 잘 될 것 같았다. 추가 학습의 교두보가 된 것이다.

 

예외처리도 마찬가지다. try-catch 기능이 있다는 것은 알고 있었지만 사용 방법에 대해선 정확히 알지 못했다. 하지만 이젠 왜 사용해야 하는지 확실히 이해했다. 세세한 부분은 앞으로 내가 채워나가야겠다.

 

이번에 의심 가는 부분이 생겼다. 패스트캠퍼스엔 '초격차 자바&스프링'이라는 유료 강의가 있는데, 그 유료 강의의 콘텐츠를 가지고 나와 이번 국비 수업을 만들었다는 강한 추측이다. 이젠 스프링 강의를 들었을 때 강사가 말하는 내용에서 "다른 수업 내용을 그냥 가지고 온 것 같은데?"란 느낌을 받았다. 그리곤 '초격차 자바&스프링' 마케팅 샘플 영상에 내가 봤던 스프링 강의가 실려 있음을 확인했다. 자바 수업 영상도 마찬가지다. 모두 동일한 강사가 해당 유료 강의에 등장한다. 이번 국비 수업이 종료되면 패스트캠퍼스에서 '초격차 자바&스프링' 강의를 볼 수 있을 텐데 그때 확실히 확인되겠지!

 

만약 내 추측이 사실이라면 좀 실망이다. 이미 만들어 놓은 강의에서 단순히 가지고 나와 구성했다니. 너무 성의 없는 처사라고 생각했다. 강의 구성도 부자연스럽고 매끄럽지 않다. 자바 강의에서 도움이 된 것은 사실이나, 국가의 보조금(세금)을 지원받으면서 자신들의 유료 콘텐츠를 재탕한다? 이건 좀 문제가 있는 거 아닌가 싶다.

이번 주 강의에서 흥미로웠던 것들


(1) 내부 클래스에서도 익명 클래스가 가장 많이 사용된다.

 

(2) 익명 클래스 개념은 람다식으로 이어진다.

 

(3) 람다식은 스트림(Stream)에서 이용된다.

 

(4) 결국 람다식, 스트림이 어려운 개념이 아니구나! 겁먹을 필요가 없다.

 

(5) 예외처리는 프로그래밍에서 꼭 필요한 개념이구나.

 

추가 학습이 필요한 개념들


- try - with - resources

- 대표적인 Exception 들

- Stream의 중간 연산, 최종 연산 종류들

- stream( ).reduce( )

- @FunctionalInterface

- 람다식 구현 방식들