어떤 프로그램을 개발할 때 주먹구구식으로 '우선 동작 가능하게 하자'라는 마인드로 개발을 했었다. 그런데 유지보수를 막상 해보니까 생각보다 하나를 추가하거나 삭제하는 일이 많은 비용이 들고 힘들었다. 그러다가 새로운 분이 우리 팀에 들어오셨는데 나에게 말했던 것이 바로 솔리드 원칙 바로 오늘 주제다. SOLID라는 개념을 어렴풋이 들었지만 개발할 때 막상 지켜서 해본 적이 없었다. 그래서 이번 시간에 정리하기로 마음먹었다. SOLID 로버트 마틴이 2000년대 초반에 명명한 객체 지향 프로그래밍 및 설계의 다섯 가지 기본 원칙을 마이클 페더스가 두문자어 기억술로 소개한 것이다. 프로그래머가 시간이 지나도 유지 보수와 확장이 쉬운 시스템을 만들고자 할 때 이 원칙들을 함께 적용할 수 있다. 즉 소프트웨어 ..