SOLID 정리

SOLID 원칙은 변화에 유연하게 대처할 수 있게 해주는 설계 원칙이다.

단일 책임 원칙인터페이스 분리 원칙은 객체가 커지지 않도록 막아준다. 객체가 많은 기능을 가지게 되면, 객체가 가진 기능의 변경 여파가 그 객체의 다른 기능까지 번지게 되고 이는 다시 다른 기능을 사용하는 클라이언트에게까지 영향을 준다.

객체가 단일 책임을 갖게 하고 클라이언트마다 다른 인터페이스를 사용하게 함으로써, 한 기능의 변경이 다른 곳까지 미치는 영향을 최소화할 수 있고, 이는 결국 기능 변경을 보다 쉽게 할 수 있도록 만들어 준다.

리스코프 치환 원칙의존 역전 원칙개방 폐쇄 원칙을 지원한다.

개방 폐쇄 원칙은 변화되는 부분을 추상화하고 다형성을 이용함으로써 기능 확장을 하면서도 기존 코드를 수정하지 않도록 만들어 준다.

여기서, 변화되는 부분을 추상화할 수 있도록 도와주는 원칙이 바로 의존 역전 원칙이고, 다형성을 도와주는 원칙이 리스코프 치환 원칙인 것이다.

SOLID 원칙은

사용자 입장에서의 기능 사용을 중시하고

사용자 관점에서의 설계를 지향하고 있다.

  • 인터페이스 분리 원칙은 클라이언트 입장에서 인터페이스를 분리한다.

  • 의존 역전 원칙은 저수준 모듈을 사용하는 고수준 모듈 입장에서 추상화 타입을 도출하도록 유도한다.

  • 리스코프 치환 원칙은 사용자에게 기능 명세를 제공하고, 그 명세에 따라 기능을 구현할 것을 약속한다.

Last updated