![[인프런 워밍업클럽 3기 백엔드 코드] 1주차 발자국](https://cdn.inflearn.com/public/files/blogs/15b20e6a-8658-432f-bcde-1e251044e5b4/스크린샷 2025-03-09 131209.png)
[인프런 워밍업클럽 3기 백엔드 코드] 1주차 발자국
1. 강의 수강
📌내용 요약
가장 큰 깨달음은 관념적으로만 알고 있던 SOLID 원칙을 코드에서 찾아낼 수 있게 되었다는 것이다!!!
부가적으로 객체지향 설계에서는 상속보다 조합을 활용하는 것이 더 유연한 설계를 가능하게 한다는 점, 일급 컬렉션과 Value Object를 활용하여 데이터의 일관성을 유지하는 것의 중요성을 배웠다. 또한, 논리적 사고 흐름을 단순화하기 위해 Early Return 적용, 중첩 분기문 최소화, 공백과 부정어 정리 등의 기법을 사용해 코드 가독성을 높이는 대안에 대해 공부했다.
📌간단 회고
SOLID 원칙을 적용하면서 코드가 얼마나 유연해질 수 있는지 경험할 수 있었고, 객체가 단순한 데이터 컨테이너가 아니라 자신의 책임을 수행해야 한다는 점을 깊이 이해하는 계기가 되었다. 하지만 여전히 추상화 레벨을 적절하게 조절하는 것이 쉽지 않다ㅠㅠ
📌당근과 채찍
🥕 강의 내용을 온전히 내 것으로 만드려고 노력했고, 최대한 나의 말로 블로그 포스팅을 업로드했다.
😔 목요일부터 강의가 살살 밀리더니 일요일인 오늘이 되어서야 금요일 강의를 다 들을 수 있었다ㅠ
📌다음주 목표
✅ 상속보다는 조합을 활용하는 패턴 적용해보기
✅ 강의 밀리지 않기!!!! (제일 중요)
2. 미션
미션에서는 객체지향 원칙과 클린 코드 개념을 간단한 더티 코드에 적용하는 것이 목표였다.
📌미션 해결 과정
기존 코드의 가독성을 평가하고, 개선할 수 있는 부분을 분석했다.
중복 코드와 복잡한 분기문을 줄이기 위해 Early Return 패턴과 다형성을 적극 활용했다.
객체의 책임을 명확히 하기 위해 기존의 데이터를 직접 접근하는 방식을 지양하고, SOLID 원칙을 준수시키며 메서드화 시켰다.
자세한 과정은 티스토리로,,,,
단순한 리팩토링을 넘어 객체지향의 본질을 고민할 수 있는 시간이었다. 객체지향 설계를 적용하는 과정에서 클래스 간의 책임을 명확히 하는 것이 얼마나 중요한지 다시 한번 깨달았다. 초기에는 기능을 하나의 클래스에서 모두 해결하려는 경향이 있었지만, 책임을 분리하면서 코드의 유지보수성이 훨씬 향상되었다.
하지만 아직 현업 실무 경험이 없다보니, '읽기 좋은 코드'에 대해 완벽히 100% 이해가 되지는 않은 것 같다. 강의를 따라가면서 코드를 역할 단위로 잘게 쪼개고, 기능 별 인터페이스를 구성하면서 패키지와 클래스가 점점 많아지고, '가독성'의 측면에서 어느 순간 역효과를 내지 않을까... 라는 의문이 들었다. 이래서 항상 localhost 밖으로 나가야 경험할 수 있는 것들이 있다고 하는 것 같다. 사실 상 유지보수는 '운영'이 전제되어야 발생하는 업무이기 때문이다.
댓글을 작성해보세요.