포스트

2023-04-12-OOP-SRP

단일 책임의 원칙 (SRP - Single Responsibility Principle)

  • 다섯 가지 SOLID 애자일 원칙 중 하나이다.
  • 한 클래스는 하나의 책임만 가져야 한다는 원칙이다.
  • 다르게 말하면 클래스를 수정할 이유가 오직 하나여야만 한다는 뜻이다.

책임이란?

  • 어떤 객체가 어떤 요청에 대해 대답해 줄 수 있거나, 적ㄱ절한 행동을 할 의무가 있는 경우 해당 객체가 책임을 가진다고 말한다.

책임의 분류

  1. 하는 것(doing)
    • 객체를 생성하거나 계싼을 하는 등의 스스로 하는 것
    • 다른 객체의 행동을 시작시키는 것
    • 다른 객체의 활동을 제어하고 조절하는 것
  2. 아는것(knowing)
    • 개인적인 정보에 관해 아는 것
    • 관련된 객체에 관해 아는 것
    • 자신이 유도하거나 계산할 수 있는 것에 관해 아는 것

SRP를 따를 때 이점

  • 쉬운 테스트 - 책임이 하나인 클래스는 테스트 케이스가 줄어들기 때문에 테스트가 쉬워진다.
  • 낮은 결합 - 단일 클래스의 기능이 적어져 종속성이 줄어든다.
  • 쉬운 검색 - 작고 잘 조직된 클래스는 모놀리식 클래스보다 검색하기 쉽다.
  • 구현하기 쉽다 - 하나의 책임만 가지고 있기 때문에 구현및 이해가 쉽다.
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.