워밍업 클럽 2기(클린코드, 테스트코드) 과제
Readable Code: 읽기 좋은 코드를 작성하는 사고법(링크)
이 글은 위의 강의중 제가 중요하다고 생각한 부분과, 저만의 의견을 덧붙여서 정리해보았습니다.
모든 내용과 정확한 내용을 보고싶다면 위의 강의를 수강하여 들으시는 것을 제안 드립니다.
SOLID
SRP
Single Responsibility Principle (단일 책임의 원칙)
하나의 객체는 하나의 역할만 해야 한다.
하나의 객체에서 하나의 역할만 처리하기 때문에 높은 응집도와 낮은 결합도를 유지하게 된다.
하나의 기능을 하나의 객체에서만 처리하기 때문에 처리에 필요한 요소는 하나의 클래스에 존재하여 응집도가 향상된다.
하나의 객체에서만 처리하기 때문에 다른 클래스와의 결합도는 약해진다.
OCP
Open-Closed Principle (개방 폐쇄 법칙)
(기능)확장에는 열려있고, (코드) 수정에는 닫혀있는 방식, 즉, 코드를 수정하지 않고 기능 추가를 할 수 있는 방식
인터페이스와 다형성을 이용하여 구현한다.
LSP
Liskov Substitution Principle
상속 관계에서 자식이 부모 클래스의 역할을 변경하거나 영향을 주면 안된다.
ISP
Interface Segregatin Principle (인터페이스 분리 원칙)
인터페이스의 구현한 클래스는 인터페이스의 모든 메소드를 사용해야 한다.
문법 상으로 전부 사용해야 하지만, 사용하면 예외(Unsupport Opeartion Exception)를 발생시키는 방식으로 사용하지 않을 수 있다.
DIP
Dependency Inversion Principle (의존성 역전 방식)
높은 추상화 객체에서 낮은 낮은 추상화 객체로 의존해야 하지만, 모든 객체는 높은 추상화 객체를 의존해야 한다.
낮은 추상화 객체를 참조하면, 구현이 달라졌을 경우 의존하는 모든 객체에 영향이 생긴다.
댓글을 작성해보세요.