20230719 TIL

기메단·2023년 7월 19일
0

TIL

목록 보기
3/44

오늘 알게 된 것

lv1,2에서는 Calculator 클래스 안에 모든 연산을 수행할 수 있도록 코드를 추가 해놨었다. 오늘 lv3 구현에선 연산 클래스를 만들고 각 기능에 맞게 코드를 추가, 그리고 Calculator 클래스와 관계를 맺어주는 과제를 해결하면서 왜 이렇게 동작을 분리하도록 해야하는 지 알게 되었다. 객체 지향 5원칙(SOLID) 중 단일 책임 원칙(SRP)에 해당하는데

'단일 책임 원칙' 이란 객체는 단 하나의 책임만 가져야 한다는 원칙이다.

예를 들어서, 객체인 '나'가 남자친구, 아들, 직장동료, 손자의 모든 역할을 한 번에 할 순 없다. 객체 '나'를 상위 객체에 적용될 수 있게끔 구현하고 역할마다 동작을 분리해야한다는 뜻이다.

'남자친구, 아들, 직장동료, 손자' 의 객체를 생성한다. 이 4개의 객체는 모두 '나'에 포함되므로 '나'를 상속받아 구현하면 된다. 각 객체의 메소드에 동작을 구현함으로써, 각각의 객체가 하나의 책임을 가지게 된다.

이렇게 개선함으로써
1. 의존성이 낮아져 올바른 모듈화 가능
2. 코드가 간결해져 유지보수 쉬워짐
3. 수정에 따른 영향도도 작아진다.
4. 가독성 향상한다
라고 할 수 있다.

내일 할 일

  • 추상화 클래스 공부.
  • Lv4 구현해보고 어떠한 점이 개선되었는가 생각.
  • 의존 역전 원칙(DIP) 정리 해보기.

느낀 점

말은 쉬운데,,, 어렵더라. 내가 짠 코드를 보면서 조금씩 클래스와 메소드에 대한 이해도를 높이고 있다. 머리 아프다. 기초부터 공부하고 있어서 잘 모르겠다 싶은 것들은 자주 구글링 해보는데 적힌 내용조차 머리 아프게 만든다. 내일은 오늘보다 시간 더 투자해서 기초를 튼튼히 깔아놔야겠다는 생각이다.

0개의 댓글