[TIL-2] 건강도 챙기면서...

극락코딩·2021년 8월 24일
0

til

목록 보기
2/2

반성 또 반성

계속 Velog에 글을 작성하지 못한 것 같아 아쉬움이 남습니다..ㅜㅜㅜ

최근 프로그래머스 백엔드 교육과정을 수강 중이라,, 수업 듣고 과제하기가 힘들었습니다..
엄청 어렵거나, 힘들지는 않았지만 거북목과 일자목이라는 콜라보네이션이 저를 힘들게 하는 것 같습니다..ㅜㅜㅜ 공부하다가 어지러워 병원가서 주사 맞고,,, 계속 무한 반복,,,

그러다! 결국 헬스를 다시 시작하기로 했습니다!! 두둥!!! 운동을 하면 조금 좋아지지 않을까? 하는 생각에 2시간만 나를 위해? 써보자! 라는 결심이 들었습니다!!

너무 TMI가 많은 것 같아 저번주와 이번주에 어떤 것을 학습했는지 조금 정리해보려고 합니다.

저는 Spring 그리고 Java를 어떻게 사용해야 하고, 어떻게 써야하는지만 집중했던 것 같습니다..

결국 저에게는 근본이 없었습니다.ㅜㅜㅜㅜ 그러다 보니 새로운 개념이 저에게 오면,, 계속 어려움을 느꼈던 것 같습니다!!

최근에는 지금까지 제가 공부했던 내용들을 다시 주서담는? 과정을 진행하고 있습니다!!

가장 첫번째로 DI와 DIP에 대해 학습했습니다!

이전까지 단순하게 DI는 스프링이 만들어서 보관하는 Bean을 자동으로 주입받는다! 까지만 알고 있었습니다. 그 원리는 무엇이고, DI를 통해 우리가 얻을 수 있는 이점이 무엇인지 몰랐던 것 같습니다.

DI는 의존성 주입으로서, 객체를 외부로 부터 주입받아 사용하는 것을 의미합니다.

DI를 할 수 있는 방법은 다양한데, 그 중에서 Setter, Constructor, Field가 대표적으로 사용되는 방법입니다

Setter의 경우에는 SetMethod를 통해 bean을 주입 받을 수 있고, Constructor는 생성자를 통해 주입받을 수 있습니다. 마지막으로 Field의 경우에는 @Autowired를 통해 주입받을 수 있습니다.

다양한 DI 방식이 존재하지만, 그중에서도 현재 권고되는 DI 방식은 생성자 주입입니다. 생성자 호출 시점에 한번만 호출되는 것을 보장합니다! 더불어 final로 선언이 가능하여 불변객체로서 오류를 방지할 수 있는 역할을 수행할 수 있습니다!!

DIP는 의존 역전 원칙을 의미하며, 구상체에 의존하는 것이 아닌, 추상체에 의존하는 것을 의미합니다! 만약 어떠한 객체가 구상체에 의존하게 된다면, 불가피한 수정이 발생했을 때 추상체도 변경해야 하는 리스크가 존재합니다.!!!

하지만, 추상체에 의존하게 되면, 이런 불가피한 수정에도 확장성을 가지며 기능을 추가할 수 있다는 장점이 존재합니다!

객체지향 공부하기!

졸업생들과 함께 하는 스터디 모임이 존재합니다! 저번주 과제는 주차장 관리 시스템을 개발하는 것이었습니다!!

해당 과제를 진행하면서, 객체가 메세지를 전달하고, 스스로에 대한 유효성을 검사할 수 있도록 로직을 구현하는 연습을 진행했습니다!!!

주차 관리 시스템

요구사항을 어떻게 작성하느냐에 따라서 객체의 설계가 달라진다는 것을 알게 되었습니다!!

한가지 아쉬운 점은 너무 Enum을 남용하여 설계하다보니, 확장성이 줄어들고 하드코딩된 부분이 많았다는 점입니다.,,,,,ㅜㅜㅜㅜ

이번 리뷰를 통해 클래스를 설계할 때 조금 더 생각?하는 습관을 들여야 함을 알게 되었습니다...

마치며

현재 너무나 많은 일들이 저에게 다가온 것 같습니다..
하나씩 해결하면서, 스스로 성장하고 있다고 생각하지만 건강을 챙기지 못한 지나난 날의 동건에게 실망감을 갖기도 합니다.ㅜㅜㅜㅜㅜ

이제는 조금 더 건강을 지키며, 평생 가는 프로그래머가 되기 위해 노력해야 될 시기라고 생각합니다!

오늘도 동건동건동건

profile
한 줄에 의미를, 한 줄에 고민을

0개의 댓글