해당 글은 코드스쿼드 2022 마스터즈 코스 "Java 웹 백엔드" 과정을 수강하면서 학습한 내용 등에 대한 회고 글입니다. :)
수강 회고
오늘 오전에는 간단하게 팀 그룹 스크럼을 진행하고 호눅스의 마스터 클래스 강의로 진행되었다. 저번주까지만 해도 나를 포함하여 다들 오전 스크럼에 그래도 활기찬 모습으로 계셨었던 것 같은데, (나 역시도) 다들 지쳐있는 기색이 역력해보였다. 😂 아마 다들 팀 프로젝트에서의 각자의 역할과 책임을 수행해내느라 늦은 시간까지 생각하고 고민했었기 때문이지 않을까 생각이 들었다.
오후에는 다시 같은 팀원 Hanse와 함께 카드 이동 API 구현 작업을 진행했고 프론트 엔드와 협업하여 카드 생성 API 구현 단계까지 로컬 환경에서 연동하여 동작하는 것을 확인해볼 수 있었다. 🙏 확실히 다들 처음 팀 프로젝트를 시작할 때보다 지쳐보이지만 이번 팀 프로젝트 과제 수행 기간이 얼마 남지 않은 만큼 어느때보다 열심히 작업하시는 것 같아 보였다. 나 역시도 최종적으로 기능 구현 및 웹 앱을 배포할 때까지 좀 더 힘을 내어 분발해야겠다는 생각이 들었다.
학습 회고
- 투두리스트 구현 프로젝트
- 팀원들(백 엔드 2명, 프론트 엔드 2명)과 zoom 회의실에서 학습
지난번 위키북스 출판 '스프링 입문을 위한 자바 객체 지향의 원리와 이해' 책을 참고하여 객체지향 원칙 중 단일 책임 원칙과 개방 폐쇄 원칙에 대해서 간략하게 살펴보았었는데, 김영한님의 인프런 스프링 강의에 앞서 마저 남은 원칙들에 대해 살펴볼 필요가 있어 보여 오늘은 관련해서 리스코프 치환 원칙을 학습해보았다.
리스코프 치환 원칙
서브 타입은 언제나 자신의 기반 타입(base type)으로 교체할 수 있어야 한다.(로버트 C. 마틴) → 하위 클래스의 인스턴스는 상위형 객체 참조 변수에 대입해 상위 클래스의 인스턴스 역할을 하는 데 문제가 없어야 한다.
객체 지향에서의 상속은 조직도나 계층도가 아닌 분류도가 돼야 한다. 하위 클래스 is a kind of 상위 클래스 관계를 만족해야하고(하위 분류는 상위 분류의 한 종류다.), 구현 클래스 is able to 인터페이스 관계를 만족해야 한다.(구현 분류는 인터페이스할 수 있어야 한다.) 만일 이를 지킨다면 이미 리스코프 치환 원칙을 잘 지키고 있다고 할 수 있다.
예를 들어 아버지 - 딸 구조(계층도/조직도)는 리스코프 치환 원칙을 위배하고 있는 것이며, 동물 - 펭귄 구조(분류도)는 리스코프 치환 원칙을 만족하는 것이다. 결국 리스코프 치환 원칙은 객체 지향의 상속이라는 특성을 올바르게 활용하면 자연스럽게 얻게 되는 것이다.
좋았던 점
- 무사히 추가 기능 구현과 프론트 엔드 단과 연동이 잘 마무리되어 안도감을 느꼈습니다. 🏃♂️
아쉬웠던 점
- 지난 스프링 부트 미션 때부터 지금까지 미션 구현에 집중하느라 스프링 자체에 대한 학습에 소홀히 했었던 점이 아쉬웠습니다. 😥
이전 보다 개선되었던 점
- 오늘부터 스프링 학습을 위해 그동안 듣지 못했던 김영한님의 인프런 스프링 강의를 수강하기 시작했습니다. 💪
'2022 Masters Course > Project Course' 카테고리의 다른 글
2022 마스터즈 코스(백엔드) 70일차 회고(2022. 4. 15.) - "즐겁고 재밌었던 첫 번째 팀 프로젝트" (8) | 2022.04.15 |
---|---|
2022 마스터즈 코스(백엔드) 69일차 회고(2022. 4. 14.) - "기능 구현 그리고 아쉬움" (0) | 2022.04.14 |
2022 마스터즈 코스(백엔드) 67일차 회고(2022. 4. 12.) - "휴식은 게으름도, 멈춤도 아니다." (0) | 2022.04.12 |
2022 마스터즈 코스(백엔드) 66일차 회고(2022. 4. 11.) - "마침내 하게 된 AWS 배포" (0) | 2022.04.11 |
2022 마스터즈 코스(백엔드) 65일차 회고(2022. 4. 8.) - "첫 프로젝트 주간 그리고 소통의 중요성" (0) | 2022.04.08 |