반응형
목록
java (139)
[꼼꼼한 개발자] 꼼코더

🙋🏻♂️ 문제 ✅ 정답 💡 느낀 점 좀 더 내용이 많아서 블로그 글에 많이 적었던 내용인데 이렇게 SOLID개념을 다 마무리 지었으니 후련하지만 잊어버리지 말고 SOLID 원칙을 지키며 개발하려는 자세를 가지도록 해야겠다.

🙋🏻♂️ 문제 ✅ 정답 💡 느낀 점 인터페이스를 잘 분리해야 내가 원하는 메서드들만 선택하여 상속도 하고 원하는 기능만 사용하는 '필요한 종속성'에 포커스가 맞춰지는 거 같다!
🧹 간단 요약 DIP란 구체화의 의존하지 말고 추상화의 의존하는 것. 쉽게 말해 "구현 클래스에 의존하지 말고, 인터페이스에 의존하라는 뜻" (자세한 내용은 아래에) 🤷🏻 DIP란?(Dependency inversion principle) DIP는 상위 수준의 모듈은 하위 수준의 모듈에 의존해서는 안 되며 양쪽 모듈 모두 추상화에 의존해야 한다는 원칙이다. 즉, 의존성은 추상화에 의존해야 하며, 세부 구현에 의존해서는 안 된다는 것을 의미한다. 쉽게 말 해 "구현 클래스에 의존하지 말고, 인터페이스에 의존하라는 뜻" 🙋🏻♂️ DIP에 의거한 인터페이스 의존 방법 상위 수준 모듈은 하위 수준 모듈에 의존해서는 안 된다. 두 모듈은 모두 추상화에 의존해야 한다. 추상화는 세부 구현에 의존해서는 안 된다. ..
🧹 간단 요약 ISP란 인터페이스를 작은 단위로 분리하는 것이다. 즉 인터페이스를 계속 잘게 '잘' 나누어 분리하는 것이다. '특정 클라이언트를 위한 인터페이스 여러 개가 범용 인터페이스 하나보다 낫다' -인프런 김영한 님 강의 속 내용- (자세한 내용은 아래에) 🤷🏻 ISP란?(Interface segregation principle) ISP는 클라이언트가 필요로 하는 인터페이스를 작은 단위로 분리하고 클라이언트가 필요로 하지 않는 기능에 대한 의존성을 제거하는 것을 강조한다. 🙋🏻♂️ ISP에 의거한 인터페이스 분리방법 클라이언트가 사용하는 기능에만 포함된 작은 인터페이스를 정의해야 한다 인터페이스는 클라이언트에게 필요한 최소한의 기능만 제공해야 한다. 클라이언트는 자신이 사용하지 않는 기능에 대한..

🙋🏻♂️ 문제 ✅ 정답 💡 느낀 점 내일 있을 발표 스터디 자료인데 이렇게 안키에도 적어놓고 하니 단기기억 극복에 도움이 된다!
🧹 간단 요약 OCP란 확장에는 개방되어 있어야 하고 수정에는 폐쇄되어야 한다는 원칙을 의미 즉 새로운 기능이 추가되더라도 기존 코드를 수정하지 않고 확장할 수 있어야 한다. 정말 쉽고 자세히 다시 말하자면 "인터페이스와 추상화 등을 사용하여 다형성을 적용해 기능을 확장하고 코드 변경을 최소화하는 것이 개방 폐쇄의 원칙" (자세한 내용은 아래에) 🤷🏻 OCP란?(Open-Closed Principle) OCP는 소프트웨어 개체(클래스, 모듈, 함수 등)는 확장에 대해서는 개방되어 있어야 하고 수정에 대해서는 폐쇄되어야 한다는 원칙을 의미한다. OCP의 아이디어는 기존의 코드를 변경하지 않고도 새로운 기능을 추가할 수 있어야 한다는 것이다. 즉, 기존의 코드는 확장에 대해서 개방되어야 하며, 새로운 기능이..

🙋🏻♂️ 문제 ✅ 정답 💡 느낀 점 이전에 봤던 내용들이었지만 안키를 사용하여 자주 보다 보니 잊어지지 않고 잘 기억되는 거 같다 :)