문제
다음 설명에 해당하는 설계 원칙의 명칭을 각각 쓰시오.
(1) 시스템을 서로 다른 기능·책임을 가진 독립적인 모듈로 나누는 원칙. (2) 하나의 모듈(클래스)은 하나의 명확한 책임만 가져야 한다는 원칙.
정답
(1) 관심사의 분리(Separation of Concerns) (2) 단일 책임 원칙(SRP)
해설
관심사의 분리(SoC)는 서로 다른 기능·책임을 독립 모듈로 나누는 원칙이고, 단일 책임 원칙(SRP)은 한 모듈이 하나의 책임만 갖도록 하는 원칙이다. 둘 다 결합도를 낮추고 응집도를 높여 유지보수성과 확장성을 향상시킨다.