패스트캠퍼스 챌린지

패스트캠퍼스 환급챌린지 2일차 : 9개 도메인 프로젝트로 끝내는 백엔드 웹 개발 (Java/Spring) 초격차 패키지 Online 강의 후기

ssoonearth 2025. 4. 2. 15:51

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.

https://abit.ly/lisbva

 

 

 

 

 

 

패스트캠퍼스의 '9개 도메인 프로젝트로 끝내는 백엔드 웹 개발 (Java/Spring) 초격차 패키지 Online' 강의 수강 2일차!
오늘은 객체지향 프로그래밍의 개념에 대해 학습하고, 객체지향 설계 실습으로 수강생 관리 프로그램의 일부 기능을 구현하는 실습을 진행하였다.

내가 Java라는 언어에 가장 큰 흥미를 가지게 된 점이 바로 '객체지향'인데, 사실 흥미를 느끼지만 모순적이게도 가장 어려워하는 개념이기도 하다. 그래서 이번 강의를 보며 객체지향에 대해 좀 더 깊게 이해할 수 있었던 것 같아 만족스러웠다.

객체지향의 설계는 상태가 아닌 행동부터 정의해야 한다는 것을 처음 알게 되었다. 지금까지 너무 당연하게 클래스 구조를 먼저 설계하고서 작업을 시작했는데, 생각해보니 이렇게 작업을 시작할 경우에는 나중에 가서 기능 개발에 문제가 생겨 클래스 구조를 다시 변경해야 하는 상황이 자주 발생했던 것 같다.
실무에서 어떠한 작업을 시작하기 전에 요구사항을 꼼꼼하게 분석하고 Use Case를 이용하여 작업의 flow를 정리하는 과정이 괜히 있는 게 아니구나 라는 생각이 들었다.
객체를 데이터 관점으로 보는 것이 아닌, 협업을 위한 관점으로 보려고 노력해야겠다.

도메인 객체에서 원시타입으로 필드를 선언하는 것보다 VO를 만들어 사용하는 것이 좋다.
이번 강의를 들으면서 '일급 컬렉션'에 대해 자세한 개념을 처음 공부하게 되었는데, 객체지향적인 개발을 하기 위해 중요한 개념인 것 같아서 따로 내용을 더 찾아보았다.
일급 컬렉션(First Class Collection)이란, Collection을 Wrapping 하면서 그 외 다른 변수가 없는 클래스의 상태를 뜻한다. 즉, 단순한 자료구조가 아니라 해당 컬렉션이 갖는 의미와 도메인 로직을 함께 포함하는 객체이기 때문에 비즈니스에 종속적인 특징을 갖는다. 그렇기 때문에 비즈니스 로직을 컬렉션 내부로 캡슐화할 수 있고, 여러 곳에서 중복되어 사용되는 로직을 제거할 수 있게 된다는 장점이 있다.