ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 자바 - SRP (Single Responsibility Principle, 단일책임원칙)
    Java 2023. 11. 22. 22:09

    핵심개념: '단일 책임 원칙(Single Responsibility Principle, SRP)은 하나의 클래스가 하나의 책임만을 가지며, 그 책임이 변경되는 이유는 하나만 있어야한다는 원칙입니다.'

    단일 책임 원칙(Single Responsibility Principle, SRP)은 소프트웨어 설계 원칙 중 하나로, 각 클래스가 담당하는 책임이 하나여야 한다는 원칙입니다. 이 원칙은 클래스를 변경할 필요가 생기는 이유가 하나여야 함을 의미합니다. 즉, 하나의 클래스가 너무 많은 책임을 가지게 되면 그 클래스의 복잡도는 증가하게 됩니다.

    자세한 설명:

    SRP의 기본 아이디어는 클래스를 수정해야 하는 이유가 단 한 가지만 있어야 한다는 것입니다. 클래스가 두 가지 이상의 책임을 가지고 있다면, 이 책임들은 서로 연관성이 없을 가능성이 높습니다. 따라서, 한 책임에 대한 변경이 다른 책임에 미치는 영향을 최소화하려면, 각 책임을 각각의 클래스로 분리하는 것이 좋습니다.

    이 원칙을 따르면, 시스템의 각 부분을 독립적으로 개발하고 변경할 수 있으므로, 코드의 가독성과 유지보수성이 향상됩니다.

    예시:

    예를 들어, '사용자 관리'와 '인쇄' 두 가지 책임을 가진 '사용자 관리자' 클래스가 있다고 가정해 봅시다. 이 클래스는 사용자의 정보를 관리하고, 사용자 정보를 인쇄하는 기능을 가지고 있습니다. 하지만 '사용자 관리'와 '인쇄'는 별개의 책임이므로, 이 두 가지 책임을 각각의 클래스로 분리하는 것이 SRP를 따르는 방법입니다.

    샘플 코드:

    // SRP를 따르지 않는 경우
    class UserAdmin {
        void manageUser() { ... }
        void printUser() { ... } // 인쇄 책임 추가
    }
    
    // SRP를 따르는 경우
    class UserAdmin {
        void manageUser() { ... }
    }
    
    class UserPrinter {
        void printUser() { ... } // 인쇄 책임을 별도의 클래스로 분리
    }

    이처럼 단일 책임 원칙을 이해하고 적용하면, 코드의 복잡도를 줄이고 가독성과 유지보수성을 향상시킬 수 있습니다.

    댓글

Paycis's